如何通过 ajax(带有 vue.js 的 axios)将图像发送到控制器以及之后如何访问它?

How to send image through ajax (axios with vue.js) to controller and how to access it afterwards?

一段时间以来,我一直在努力解决这个问题。 我想要做的是上传一张图片,然后通过 ajax 提交表单并在控制器中访问它。 我 POST data:

的代码部分
var formData = new FormData();
formData.append('file', files[0]);

axios.post('/uploadImg', {
      formData
   })
.then(response => console.log(response.data));

如果我在 axios.post 之前 console.log(formData.get('file')); 我会看到我需要的所有数据: 但是当我尝试在控制器内部访问它时,例如:$request->file('file');$request->file; 或者即使我尝试 return $request->all(); 我得到空对象? : 我很确定我做错了 $request 事情,还是我之前把事情搞砸了? 顺便说一下,我正在使用 vue.js 到 post ajax 数据和我正在处理的框架是 laravel.

感谢任何帮助!

尝试添加选项 object 并设置 header:

    axios.post('/uploadImg', {
      formData
   }, {headers: {'content-type': 'multipart/form-data'}})

好的,我无法访问这些图片的原因是它们的大小。我通过更改 php.ini 中的一些行来修复它。所以我设置:filememory_limit 为 256M,upload_max_filesize 为 10M。现在一切正常!