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

时间:2017-09-18 15:01:13

标签: javascript node.js request postman

我正在尝试将带有POSTMAN的文件上传到此网址

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);
    });
}

在POSTMAN中我得到了这个:

postman

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

请问好吗?

3 个答案:

答案 0 :(得分:9)

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

    标题中的
    • 标题中的Content-type字段已设置为multipart/form-data
  1. Body 中的
    • form-data选项应保留为默认值。
    • 从右侧的下拉菜单中选择File选项,而不是text
    • 在占位符为File的文本框中键入key
  2. 希望这有帮助!

答案 1 :(得分:1)

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

第二天早上醒来再次点击它有效。以下是工作要求的图像。

enter image description here

答案 2 :(得分:0)

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