繁体   English   中英

在 POSTMAN 上使用 PUT/POST 方法上传文件

[英]Upload a file with PUT/POST method on POSTMAN

我正在尝试使用 POSTMAN 将文件上传到此 URL

http://localhost:3000/bucket/test/files/

并且应该在我的控制器中得到结果:

    put(request, response, args) {
    //HERE IN THE REQUEST.BODY 
    console.log(request.body)

    let fileManager = request.modules.VMFile;
    let mimeTypes = ['image/jpeg', 'image/png', 'image/gif', 'image/x-icon', '  video/mpeg', 'text/html', 'video/x-msvideo', 'application/msword', 'application/pdf', 'application/vnd.ms-powerpoint', 'application/x-rar-compressed'];
    let maxFileSize = 4 * 1024 * 1024;

    fileManager.initUpload(mimeTypes, maxFileSize);

    fileManager.receive((files) => {

        fileManager.forEachFileContent(files, (file, content) => {

            minioClient.putObject(request.body.bucket, request.body.name, content, file.size, file.mimetype, function (err, etag) {
                response.setData("File uploaded").apply();
                return console.log(err, etag)
            })

        });
        fileManager.clearFilesFromTmp(files);
    });
}

在邮递员我得到这个:

邮差

标题上没有任何内容,但我只能 PUT(或 POST,我尝试使用 POST 更改我的路线但同样的问题)名称和存储桶字段......我的文件字段没有任何内容......

在使用Postman尤其是在测试文件上传时,请确保,

  1. 标题中
    • Content-type字段已在 Headers 中设置为multipart/form-data
  2. 身体
    • form-data选项应保留为默认值。
    • 从右侧的下拉列表中选择File选项而不是text
    • 在占位符是key文本框中键入File

希望这有帮助!

您可能做得对,但有时 POSTMAN 效果不佳。 我编写了一个 API 来接受文本和文件。
从 Postman 调用服务时。 1. 我将 Content-Type 设置为“application/json”,将 Accept 设置为“application/json”。
2.在正文中我传递了文本和文件它不起作用,我尝试了多次。 我关闭了邮递员和我的笔记本电脑。

第二天早上醒来又打了一次,它起作用了。 下面是工作请求的图像。

在此处输入图片说明

当我尝试从表单数据上传图像时输出这些词。 是什么原因,我在哪里调整:
此文件不在您的工作目录中。 您与之共享此请求的队友将无法使用此文件。 为了使协作更容易,您可以在“设置”中设置您的工作目录。

使用express-fileupload时,并非所有大卫的答案都对我express-fileupload 简而言之,我在使用express-fileupload时不需要Content-Type标头。

请注意,这些步骤适用于 npm / express-fileupload / Postman

  1. 确保标题Content-Type已禁用。 设置此强制req.files未定义。
  2. 根据 Davids 的回答,使用form-data并将key设置为您需要的任何内容,然后上传文件。
  3. 如果您在 Express 应用程序中使用console.log(req.files.YOUR_KEY) ,则应该有一个包含上传文件的对象,在我的情况下为req.files.file

以下是邮递员的样子(再次禁用Content-Type标头):

邮递员配置

这是使用console.log(req.files)console.log(req.files)内的输出:

调试控制台

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM