使用axios将文件附加到帖子正文

时间:2018-11-19 15:02:20

标签: javascript ajax forms axios

我正在发布具有很多字段的表单,但是在获取文件附件以及其他输入元素的值时遇到麻烦。

我正在使用<input type="file">进行标记,并使用以下命令:https://code.lengstorf.com/get-form-values-as-json/将表单值转换为有效的JSON。

我正在像这样捕获文件输入的值:inputelement.files[0],这是一个名为data的对象中的条目,我在下面对其进行迭代(同时获取键和值)< / p>

这是我相关的javascript:

// doesn't work
const fd = () => {
    let formData = new FormData();
    Object.entries(data).forEach(([key, val]) => {
       formData.append(key, val);
    });
    return formData;
}

OR

// also doesnt work
const fd = {
     transformRequest: [(data) => {
         let formData = new FormData();
         Object.entries(data).forEach(([key, val]) => {
             console.log(key, val);
             formData.append(key, val);
         });
         return JSON.stringify(data);
     }]
 }

const config = {
    headers: {
        'Content-Type': 'application/json; charset=utf-8',
        'Accept': 'application/json',
    }
}

return axios.post(url, fd, config)
.then((res)) => {
   // do stuff
}

以下是有效负载的屏幕截图: lame image link

我的语法是否全部错误?到处寻找答案,但似乎无法弄清楚如何使它工作。这似乎并不那么困难:(

任何帮助/指导都将是惊人的。几天来我的头一直撞在墙上,我的头开始疼:o

谢谢

0 个答案:

没有答案