我想在我的控制器中使用ajax发送文件数据,但它不起作用。 下面是代码结构;上传文件是空的Laravel 5.4
形式
<form id="contact_img" enctype="multipart/form-data">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input id="contact_image" name="contact_image" type="file" class="file">
<input type="text" class="form-control" name="testtest" id="testtest" required>
<button type="submit" class="btn-default">Save</button>
</form>
AJAX
$.ajax({
url: "{{ url('/') }}/admin/upload_contact_img",
data: $("#contact_img").serialize(),
success: function (data) {
alert(data);
location.reload();
},
});
我的网络路由
路线::获得( '管理/ upload_contact_img', 'admin_controller @ contact_img_upload');
控制器
public function contact_img_upload(Request $form){
if ($form->hasFile('contact_image')){
echo $form->file('contact_image');
}else{
echo "empty";
}
echo $form->testtest;
}
只有输入TESTTEST显示该值。
的可能的复制[如何使用FORMDATA为Ajax文件上传(https://stackoverflow.com/questions/21044798/how-to-use -formdata换AJAX文件上传) –