我有我的路线:
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);
}
像魅力:)一样工作