Laravel 5 Ajax文件/图像上传

我的laravel ajax应用程序中存在问题,

我无法通过ajax POST上传图像/文件。

这是我的代码。

阿贾克斯..

/*Add new catagory Event*/ $(".addbtn").click(function(){ $.ajax({ url:'add-catagory', data:{ logo:new FormData($("#upload_form")[0]), }, dataType:'json', async:false, type:'post', processData: false, contentType: false, success:function(response){ console.log(response); }, }); }); /*Add new catagory Event*/ 

刀片模板……

  

Enter Catagory Name.

Enter Catagory Logo.

控制器..

 public function catadd(){ if (Input::hasFile('logo')) { return "file present"; } else{ return "file not present"; } } 

路线..

  Route::post('add-catagory',['as'=>'catagory_add','uses'=>'MastersController@catadd']); 

我的代码中有什么错误?

我无法在laravel控制器中获取文件信息..

我怎么能解决这个问题……?

要改变的两件事:

从以下位置更改您的js文件:

  data:{ logo:new FormData($("#upload_form")[0]), }, 

至:

  data:new FormData($("#upload_form")[0]), 

因为您想发送整个表单。

在你的HTML中:

在文件输入字段中添加名称

  

至:

  

因为dataType:'json'它对我不起作用。 如果有人收到错误,只需删除dataType:'json'

检查您的控制器发布时获得的内容:

 echo dd(Input::all()); 

检查php中的文件对象。 这在PHP中:

 $_FILES Request::file("logo"); 

是的,你真的没有发布任何数据吗? 表格真的贴出来了吗?

Interesting Posts