我發現很少有文章解釋這個過程,但他們中的大多數都沒有做日期。 如何處理node.js中的圖片上傳?用node.js上傳圖片和表達的簡單方法?
1
A
回答
1
我在express中使用busboy middleware來解析多部分/表單數據請求中的圖像,它的工作原理非常好。
我的代碼看起來是這樣的:
const busboy = require('connect-busboy');
//...
app.use(busboy());
app.use(function parseUploadMW(req,res,next){
req.busboy.on('file', function onFile(fieldname, file, filename, encoding, mimetype) {
file.fileRead = [];
file.on('data', function onData(chunk) {
this.fileRead.push(chunk);
});
file.on('error', function onError(err) {
console.log('Error while buffering the stream: ', err);
//handle error
});
file.on('end', function onEnd() {
var finalBuffer = Buffer.concat(this.fileRead);
req.files = req.files||{}
req.files[fieldname] = {
buffer: finalBuffer,
size: finalBuffer.length,
filename: filename,
mimetype: mimetype.toLowerCase()
};
});
});
req.busboy.on('finish', function onFinish() {
next()
});
req.pipe(req.busboy);
})
然後文件將在您的明確路線在req.files
的req
對象爲您服務。
此技術適用於小圖像。如果你正在做一些硬核上傳,你可能想考慮流文件(以節省內存)到他們的目的地 - 如s3或類似的 - which can also be achieved with busboy
另一種流行和體面的包是:https://github.com/andrewrk/node-multiparty。
0
我認爲更好的使用formidable
來處理傳入的圖像。
2
即時通訊使用multer,它完美的作品。它在本地存儲你的圖像。如果你願意,你也可以把它發送給mongodb。這是我如何做到的。
var multer = require('multer');
var done = false;
//define the model you are working with*
var Slides = require('./models/work');
app.use(multer({
dest: './public/img',
rename: function (fieldname, filename) {
return filename+Date.now();
},
onFileUploadStart: function (file) {
console.log(file.originalname + ' is starting ...')
},
onFileUploadComplete: function (file) {
console.log(file.fieldname + ' uploaded to ' + file.path);
done = true;
var id= file.fieldname;
var str = file.path;
var image = str.replace('public', '');
var slidegegevens = {
"id": id,
"img": image
};
var s = new Slides(slidegegevens);
s.save(function (err, slidegegevens) {
console.log(err);
console.log('slidegegevens: ' + slidegegevens);
});
}
}));
相關問題
- 1. Android:將圖片上傳到圖像主機的簡單方法
- 2. 使用angular和node.js上傳圖片
- 3. ASP簡單的圖片上傳
- 4. cloudfiles簡單的圖片上傳
- 5. 簡單的PHP圖片庫上傳
- 6. 如何添加簡單的圖片上傳到表單?
- 7. 使用Node.js簡單文件上傳
- 8. 上傳圖片和表格
- 9. 用Mongoose和Node.js和Underscore生成代碼的簡單方法?
- 10. 簡單的上傳表單
- 11. 用C++繪製圖形和圖表的自由簡單方法?
- 12. PHP圖片上傳表單的風險?
- 13. 創建上傳圖片的表單
- 14. Python:大文件上的正則表達式。簡單的方法?
- 15. 從node.js訪問memcached的簡單方法
- 16. 最簡單的上傳圖像的方法
- 17. 用圖片和文字的簡單框
- 18. 關於在Node.js中上傳圖片
- 19. php - 表單包含圖片上傳
- 20. ExactTarget和AMPscript可以使用表單上傳圖片嗎?
- 21. 簡單的方法來調整Node.js中的圖像大小?
- 22. 如何使用文件上傳和圖片上傳選項創建表單?
- 23. 使用java拍攝攝像頭圖片的最簡單方法
- 24. 方法client.write()不能在簡單的服務器上工作Node.js,
- 25. 簡單的方法來運行和調試Node.js項目?
- 26. 用戶上傳的圖片上傳限制undefined用戶的方法
- 27. html「傳遞方法」列表中的圖片和文字
- 28. 上傳圖片到Node.js的使用multer不起作用
- 29. 簡單表達
- 30. 在rails中使用回形針上傳ajax的簡單方法?
謝謝,我會檢查一下 – 2014-10-31 20:30:17