前端透過formdata上傳一個file檔案
後端框架為koa,用的是co-busboy中間件來解析請求,
co-busboy文檔中有簡單例子可以透過解析得到一個「檔案流「 FileStream,然後透過node的fs模組將檔案寫入本地,這個倒是簡單。
現在我的問題是想檔案以blob形式入庫,而不是存放在本地
然後就在想 怎麼從FileStream轉,
這個FileStream印如下:
FileStream {
_readableState:
ReadableState {
objectMode: false,
highWaterMark: 16384,
buffer: BufferList { head: [Object], tail: [Object], length: 1 },
length: 10256,
pipes: null,
pipesCount: 0,
flowing: null,
ended: false,
endEmitted: false,
reading: true,
sync: false,
needReadable: true,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
defaultEncoding: 'utf8',
ranOut: false,
awaitDrain: 0,
readingMore: false,
decoder: null,
encoding: null },
readable: true,
domain: null,
_events: { end: [Function] },
_eventsCount: 1,
_maxListeners: undefined,
truncated: false,
_read: [Function],
fieldname: 'homework',
filename: '2017-1-18.json',
encoding: '7bit',
transferEncoding: '7bit',
mime: 'application/octet-stream',
mimeType: 'application/octet-stream' }
當時看到一個為buffer的屬性,也試過node中的Buffer模組,好像也不太行得通。
總之問題就是如何把 檔案流 轉換為 blob格式?
還請大家指導一下
決定不把文件往資料庫存了
MongoDB沒有
blob
格式,你需要的是GridFS
。先看看驅動文檔,裡面有範例。如果有不懂的地方再討論。https://mongodb.github.io/nod...