How to send files with a super agent
So, about a month ago, I asked a question regarding super agent and file upload, but got no answer at all. I would still like to know how to do this as I like to use a super agent.
I can send files with simple ajax:
var fd = new FormData();
fd.append( 'file', this.refs.File.getDOMNode().files[0] );
$.ajax({
url: 'http://localhost:8080/files',
data: fd,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
console.log(data)
}
});
But when I try to do the same in the super agent, nothing works:
var fd = new FormData();
fd.append( 'file', this.refs.File.getDOMNode().files[0] );
Request.post('http://localhost:8080/files')
.set('Content-Type', false)
.set('Process-Data', false)
.attach('file', fd, 'file')
.end((err, res) => {
console.log(err);
console.log(res);
})
Can someone please tell me what's going on.
+3
source to share
2 answers
The application should work.
An example of using an expression / multiter:
customer:
superagent.post('http://localhost:3700/upload').attach('theFile',file);
server:
const storage = multer.memoryStorage();
const upload = multer({ storage: storage });
router.post("/upload", upload.single('theFile'), (req, res) => {
debug(req.file.buffer);
res.status(200).send( true );
res.end();
});
+8
source to share