0
我想知道處理兩個單獨文件上傳的最簡單方法,一個用於圖像,另一個用於音頻。現在我正在使用MULTER並將所有分段上傳上傳到同一位置。我可以爲兩個文件上傳指定不同的位置嗎?單獨的文件上傳node.js
我想知道處理兩個單獨文件上傳的最簡單方法,一個用於圖像,另一個用於音頻。現在我正在使用MULTER並將所有分段上傳上傳到同一位置。我可以爲兩個文件上傳指定不同的位置嗎?單獨的文件上傳node.js
假設你要保存的文件到硬盤,你可以做這樣的事情:
var storage = multer.diskStorage({
destination: function(req, file, cb) {
if (file.fieldname === 'image-file') {
return cb(null, 'folder-for-image-uploads');
}
if (file.fieldname === 'audio-file') {
return cb(null, 'folder-for-audio-uploads');
}
cb(new Error('Unknown fieldname: ' + file.fieldname));
},
filename: function(req, file, cb) {
if (file.fieldname === 'image-file') {
return cb(null, 'image-filename.jpg');
}
if (file.fieldname === 'audio-file') {
return cb(null, 'audio-filename.mp3');
}
cb(new Error('Unknown fieldname: ' + file.fieldname));
}
});
var upload = multer({storage: storage});
app.post('/endpoint', upload.fields([{name: 'image-file', maxCount: 1}, {name: 'audio-file', maxCount: 1}]), function(req, res) {
// handle request, files already saved to disk
res.sendStatus(200);
}
對於這個工作,你需要input
HTML元素的名稱爲fieldname
財產,如匹配:
<form method="POST" action="/endpoint" enctype="multipart/form-data">
<input type="file" name="image-file">
<input type="file" name="audio-file">
<input type="submit">Submit</input>
</form>
查看['.rename()'](https://www.npmjs.com/package/multer#rename-fieldname-filename-req-res)。 – robertklep