I am trying to upload a file with POSTMAN to this url
http://localhost:3000/bucket/test/files/
And should got result in my controller there :
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);
});
}
In POSTMAN I got this :
With nothing on headers but I could only PUT (or POST, I tried to change my route with POST but same issue) the name and bucket field.. I got nothing on my files field..
Any idea please ?
While using
Postman
especially when you test file upload please ensure that,Content-type
field has been set asmultipart/form-data
in Headers.form-data
option should be remain as default.File
option instead oftext
from dropdown at the right side.File
in text box where placeholder iskey
.Hope this helps!
You might be doing it right but sometimes POSTMAN does not work well. I wrote an API to accept both text and file.
While invoking service from Postman. 1. I set Content-Type as "application/json" and Accept as "application/json".
2. In body I pass the text and file It was not working, I tried multiple time. I shut down post man and my laptop.
Woke up next morning hit again and it worked. Below is image of working request.