将文件上传为对象属性

时间:2018-09-04 16:39:25

标签: javascript reactjs

我正在尝试使用FormData将图像列表上载到服务器,但是在我的服务器上其他数据可以正确显示,但是图像数组看起来像"[object Object]"

我的文件上传方法:

onDrop = files => {
        const {form} = this.state;
        files.map(file => {
                form.images = this.state.form.images.concat(
                    {
                        title: file.name,
                        path: file.preview,
                        file: file

                    }
                );

        });
        this.setState({form});
    };

我的FormData生成:

generateFormData = (form) => {
        let formData = new FormData();

        formData.append('name', form.name);
        formData.append('units', form.units);
        formData.append('price', form.price);
        formData.append('category_id', form.category.id);
        form.images.map(image => {
            formData.append('images[]', image);
        });

        return formData;
    };

我的提交方法:

submit = (form) => {
        let formData = this.generateFormData(form);
        update(data, id) {
    return new Promise((resolve, reject) => {
        Http.put(`api/ingredients/${id}`, formData)
            .then(res => {
                return resolve(res.data);
            })
            .catch(err => {
                return reject({error: err.response.data});
            })
    })
}

我使用标题:file.name, path: file.preview,属性以显示图像的预览。

谢谢您的时间!

0 个答案:

没有答案