【问题标题】:How to submit a multipart image - Error: Multipart: Boundary not found如何提交多部分图像 - 错误:多部分:未找到边界
【发布时间】:2020-04-03 16:26:17
【问题描述】:

我有一个客户端 javascript sdk,它将图像提交到使用 multer 库来解析图像的服务器端 node.js api。

但是我注意到如果我将标题设置为 content-type multipart-formdata multer 会抛出一个错误说

错误:多部分:未找到边界

async submitDocument(id, side, image) {

        const url = this.API_URL + "/api/document";

        let formData = new FormData();
        formData.set("image", image, "front.jpg");
        formData.set("side", side);

        let headers = new Headers();
        headers.set("content-type", "multipart/form-data");
        headers.set("Authorization", "Bearer " + this.API_KEY);

        const request = {
            method: "POST",
            body: formData,
            headers: headers,
        };

        try {

            const response = await fetch(url, request);
            const data = await response.json();

            return data;

        } catch (err) {
            throw err;
        }

    }

【问题讨论】:

    标签: javascript node.js multipartform-data multer form-data


    【解决方案1】:

    npm 模块connect-multiparty 可能对您有所帮助。从服务器端节点应用程序。

    server.js

    const multipart = require('connect-multiparty');
    const multipartMiddleware = multipart();  
    router.post('/api/document', multipartMiddleware);
    router.post('/api/document', (req, res) => {
      console.log(req.files)
    })
    

    post-man api 测试样本 - https://i.stack.imgur.com/vxBpz.png

    【讨论】:

    • 没有任何迹象表明 OP 正在使用 connect,模块的文档说“我实际上建议不要使用这个模块。”,这似乎并没有解决问题请求格式不正确。
    【解决方案2】:

    正如错误消息所说,multipart/form-data 内容类型需要boundary 参数。

    不要自己设置Content-Type。允许浏览器从formData 对象生成它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-08
      • 2018-09-09
      • 1970-01-01
      • 2016-01-02
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      • 2020-09-09
      相关资源
      最近更新 更多