我尝试从 multipart api 上传文件和文本数据,但即使我使用 multer 也无法获取文件

Posted

技术标签:

【中文标题】我尝试从 multipart api 上传文件和文本数据,但即使我使用 multer 也无法获取文件【英文标题】:I tried to upload file and text data from multipart api but not able to get files even i use multer 【发布时间】:2020-11-14 10:23:52 【问题描述】:

我尝试从 api 上传文件和文本数据,所以我编写了 multipart api 用于从 nodejs 中的 res 获取文件和文本数据以获取文件我正在使用 multer 模块但现在我得到 undefined 或 null在 req.files 和 req.file 中。我正在尝试使用 multer 上传文件,下面是代码 sn-ps :

const express = require('express');
const app = express();
var multer = require('multer');
var upload = multer();

app.post('/api/upload', upload.single('photo'),function (req, res, next) 
    let data = req.body;
    let file = req.file;
    console.log(data)
    console.log(file)
    return res.status(200).send(data)
)

这个 api 的响应总是返回 null 和 undefined

functions: Beginning execution of "app"
>  [Object: null prototype] 
>  undefined

我从 api 传递两个参数

    照片是一种文件 字符串类型的name参数 我已经从表单数据格式传递了这些数据

希望有人能尽快帮助我

【问题讨论】:

不应该是req.body.file吗? 我试过了,但它不能解决我的问题 你在哪里指定了从multer接收的文件存储的目的地? 【参考方案1】:
var upload = multer( dest: 'uploads/' )

指定 multer 的目标文件存储位置。 然后可以像从req.file 一样访问该文件

【讨论】:

以上是关于我尝试从 multipart api 上传文件和文本数据,但即使我使用 multer 也无法获取文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 multipart/form-data 将图像从移动应用程序上传到 API

Jersey API 中的 multipart/form-data 出现 CORS 错误

Api 平台处理文件上传

在 c# 中使用 RestClient 作为 multipart/form-data 上传文件

Azure 数据工厂使用 REST Multipart/form-data 上传文件

使用 FileReader api 上传二进制文件时遇到问题