我是laravel 5和php的新手,所以我不明白为什么我会遇到这个问题。
我正在尝试使用ajax上传文件(视频或图片),但服务器返回空结果。即使我控制FormData,表单似乎是空的。
HTML
$.ajaxSetup({
headers: {
'X-CSRF-Token': $('meta[name=_token]').attr('content')
}
});
$('#video-submit').on('click', function() {
console.log(new FormData($("#upload-file")[0]));
$.ajax({
type:'post',
url:'uploadvideo',
data: new FormData($("#upload_form")[0]),
processData: false,
contentType: false,
success:function(response){
console.log(response);
}
});
});
的Javascript
Route::post('/uploadvideo', 'UploadController@videoUpload');
路线
public function videoUpload() {
return response()->json(json_encode(Input::all()));
}
控制器
FormData {}
[]
响应
{{1}}
答案 0 :(得分:0)
您似乎正在使用Input
Facade
尝试熟悉Request
班级
而且,你返回JSON响应的方式似乎不对,所以试试吧。
注意强>
确保INI文件中的PHP Post Upload大小可以处理上传的文件大小,或者最终会出现空白的POST请求
在
php.ini
文件上设置以下指令以容纳您的上传
post_max_size
=(以MB为单位的大小,POST请求的总大小)upload_max_filesize
=(以MB为单位的大小,POST请求中单个文件的大小)
控制器
use Illuminate\Http\Requests;
public function videoUpload( Request $request ) {
return response()->json( ['video' => $request->input( 'videologo' )] );
}