Laravel 4 和上传文件不起作用总是得到 500(内部服务器错误)



我有我的路线:

Route::get('/file', array(
    'as' => 'files',
    'uses' => 'fileController@getFileUpload'
));
Route::post('/uploadfile', array(
    'as' => 'uploadfile',
    'uses' => 'fileController@postfileupload'
));

现在我已经在我的/file 路由上设置了上传,并将帖子请求发送到/uploadfile

上传文件的代码在这里:

    $file = Input::file('file_upload'); 
    $destinationPath = 'files/CDN/'.str_random(8);
    echo $filename = $file->getClientOriginalName();
    $extension =$file->getClientOriginalExtension();  
    $uploadSuccess = Input::file('file')->move($destinationPath, $filename);

但我总是得到 500(内部服务器错误)

我检查了我的目录CHMOD是0777并且当我从/uploadfile 中删除上述代码并放置时,我正在链接到正确的路线

echo 200;

它返回成功。

我也尝试添加刀片表单标签,但上传实际上根本不依赖于表单元素。它使用 AJAX 发布。

当您

通过刀片看到来自普通文件发布表单的响应var_dump时,我终于解决了解决方法 Laravel方法,您会发现Uploadfile对象是使用文件名创建的(在表单字段中指定),但另一方面,当您通过Uploadifive发送相同的请求时,您会发现它发送了一个数组,其中包括一个名为[FileData]的节点,该节点保存了一个对象该文件,所以基本上你需要像这样将该对象指针分配给$file变量,它将完美运行:

$data               = Input::all(); 
$file               = $data['Filedata']; 
$destinationPath    = public_path().'files/'.str_random(8);
$filename           = $file->getClientOriginalName();
$extension          = $file->getClientOriginalExtension();  
$uploadSuccess      = $file->move($destinationPath, $filename);
if( $uploadSuccess ) {
   return Response::json('success', 200);
} else {
   return Response::json('error', 400);
}

像魅力:)一样工作

相关内容

  • 没有找到相关文章

最新更新