发送文件时在快速路线上找不到404

时间:2018-05-18 10:06:23

标签: node.js express multipartform-data multer

我很难修复这个404 Not found错误,因此我使用FormData api将文件发送到我的快速服务器而不使用表单。每当我用有效载荷中的文件触发请求时我得到locations但是如果我在没有发送任何文件的情况下触发请求它会给我正确的响应..任何人都可以帮忙吗? 控制器

404 (Not Found) SyntaxError: Unexpected token < in JSON at position 0

路线

   update: (req, res) => {
       console.log(req.files)
        res.json({
            status: 'test',
            code: 200
        })
    }

我的要求

router.post('/update', account.update);

devtools为我提供了有关我的请求的正确信息,如果我发送带有正确显示有效负载的文件的请求,内容类型也正确,这是多部分/表单数据,但它仍然给我上述错误。如果我不发送任何文件,我会得到正确的服务器响应吗?

我正在使用multer包 按此顺序

 saveUpdate = () => {
        const formData = new FormData();
        const { user, Auth } = this.props;
        formData.append('user_id', user.id);
        formData.append('photo', this.photo_ref.files[0]);
        formData.append('cover', this.cover_ref.files[0]);

        Auth.fetch('/update', {
            method: "POST",
            credentials: 'same-origin',
            body: formData,
        })
        .then(res => {
            if(res.code === 200){
                console.log(res)
            }
        })
        .catch(err => console.log(err));
    }

1 个答案:

答案 0 :(得分:0)

您好像没有正确提供名称参数。 您可以使用相同的名称附加这两个图像

而不是这个

 formData.append('photo', this.photo_ref.files[0]);
 formData.append('cover', this.cover_ref.files[0]);

你可以做到

 formData.append('image', this.photo_ref.files[0]);
 formData.append('image', this.cover_ref.files[0]);