[英]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
尤其是在测试文件上传时,请确保,
Content-type
字段已在 Headers 中设置为multipart/form-data
。form-data
选项应保留为默认值。File
选项而不是text
。key
文本框中键入File
。希望这有帮助!
当我尝试从表单数据上传图像时输出这些词。 是什么原因,我在哪里调整:
此文件不在您的工作目录中。 您与之共享此请求的队友将无法使用此文件。 为了使协作更容易,您可以在“设置”中设置您的工作目录。
使用express-fileupload
时,并非所有大卫的答案都对我express-fileupload
。 简而言之,我在使用express-fileupload
时不需要Content-Type
标头。
Content-Type
已禁用。 设置此强制req.files
未定义。form-data
并将key
设置为您需要的任何内容,然后上传文件。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.