如何通过 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。现在一切正常!
一段时间以来,我一直在努力解决这个问题。 我想要做的是上传一张图片,然后通过 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();
我得到空对象? :
感谢任何帮助!
尝试添加选项 object 并设置 header:
axios.post('/uploadImg', {
formData
}, {headers: {'content-type': 'multipart/form-data'}})
好的,我无法访问这些图片的原因是它们的大小。我通过更改 php.ini 中的一些行来修复它。所以我设置:filememory_limit 为 256M,upload_max_filesize 为 10M。现在一切正常!