【问题标题】:Sending multiple files in Postman - NodeJS在 Postman 中发送多个文件 - NodeJS
【发布时间】:2020-06-20 01:56:45
【问题描述】:

我有一个采用以下结构的 JSON 请求 -

{
    "user_id" : "1",
    "user_details" : {
      "name" : "my_name"
      "passport_image" : "passport_image.jpg"
     },
     "user_documents" : [
        {"file" : "doc_1.jpg"},
        {"file" : "doc_2.jpg"}
     ]       
}

如何通过邮递员发送属于 JSON 请求的文件?

这是我尝试过的 -

但是passport_image.jpg 将是它自己的字段,而不是user_details 对象的一部分,对吗?

那么user_documents 下的file 对象数组呢?我怎样才能在请求中也发送它?

我非常感谢您的帮助,因为我对使用 form-data 请求而不是 raw JSON 请求很陌生。

【问题讨论】:

    标签: json postman


    【解决方案1】:

    您可以将键设置为数组。可以这样设置。 user_documents[0] 及其对应的文件。

    这行得通!

    【讨论】:

    • 对我不起作用,为什么要这样,键名相当于输入表单中的名称字符串
    【解决方案2】:

    上面的答案是错误的,这样做的方法是选择键值=你在代码中使用的值,例如如下:

    const storage = multer.diskStorage({
        destination: function(req,file,cb) {
            cb(null,'uploads/')
        },
        filename: function(res,file,cb) {
            console.log('file= ',file)
            const uniqueSuffix=Date.now()+'-'+Math.round(Math.random()*1e9)
            cb(null, file.fieldname+'-'+uniqueSuffix+'.jpg')
        }
    })
    const upload = multer({storage:storage})
    
    app.post('/uploads', upload.array('files',12), (req,res)=> 
    {
        req.files.map((file)=>{
            console.log('received request: ', file)
        })
        res.status(200).send('received files')
    })
    

    然后在邮递员中,您只需选择几个文件,在这种情况下,单击选择文件按钮后不到 12 个。多个文件只需一个入口。

    【讨论】:

      猜你喜欢
      • 2015-10-04
      • 1970-01-01
      • 2014-11-05
      • 2021-02-19
      • 1970-01-01
      • 2020-07-03
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      相关资源
      最近更新 更多