【问题标题】:Uploading file and input data using axios in laravel and vue在 laravel 和 vue 中使用 axios 上传文件和输入数据
【发布时间】:2018-06-23 22:42:08
【问题描述】:

我一直在尝试使用带有 laravel 后端的 vue js 中的 axios 上传带有表单数据的文件。那里的解决方案很少,但我无法使它们起作用。

所以这就是我想要做的。 这是我在 vue js 中的数据,我将它们与 v-model 绑定。我的表单提交方法和它的代码

let formData = new FormData();
var file = document.querySelector('#report');
formData.append("file", file.files[0]);
formData.append('someName','someValue');

axios({
         method: 'put',
         url: self.sl+'/seller/upflv',
         data: formData,
   })

在 laravel 后端我使用

登录
 \Log::info($request->all());

我的日志文件中有一个空数组。

这是我在 chrome 网络中可以看到的内容

------WebKitFormBoundary0Q7B39baNw6AJXDA
Content-Disposition: form-data; name="file"; filename="d.PNG"
Content-Type: image/png
------WebKitFormBoundary0Q7B39baNw6AJXDA
someValue
------WebKitFormBoundary0Q7B39baNw6AJXDA--

任何帮助或解释都会非常有帮助。 谢谢你。

【问题讨论】:

  • 尝试登录$request->hasFile("file");
  • 但是我的输入呢?同名?
  • 是的,它是空的

标签: javascript laravel laravel-5 axios


【解决方案1】:

前段时间遇到过这样的问题。

检查这个https://github.com/laravel/framework/issues/13457#issuecomment-239451567

尝试这样发送:

let formData = new FormData();
var file = document.querySelector('#report');
formData.append("file", file.files[0]);
formData.append('someName','someValue');
formData.append('_method', 'PUT'); // ADD THIS LINE
axios({
         method: 'post', //CHANGE TO POST
         url: self.sl+'/seller/upflv',
         data: formData,
   })

【讨论】:

猜你喜欢
  • 2020-08-10
  • 2020-04-09
  • 1970-01-01
  • 2018-08-26
  • 1970-01-01
  • 2017-09-27
  • 2019-06-28
  • 2021-01-10
  • 2018-08-04
相关资源
最近更新 更多