2015-11-10 35 views
0

我在mongo數據庫中使用緩衝區保存文件(使用mongoose,nodejs,electron)。目前,我使用純文本文件保持簡單。我在使用如何顯示已保存爲緩衝區的文件?

fs.readFile(filePath, function(err, data) { if (err) {console.log(err);} typeof callback == "function" && callback(data); });

然後,我創建使用data變量在我的數據庫中的新文件中讀取文件。而且,現在我有一些看起來像存儲在我的mongodb中的BinData(0,"SGVsbG8gV29ybGQK")。到目前爲止,一切都很好。

現在,如果我想在UI中顯示該文件,該怎麼辦?在這種情況下,在電子?我認爲有兩個步驟。

第1步第一個是把這個變量帶出數據庫,然後進入前端。 FYI:該模型被稱爲File,存儲文件內容的變量被稱爲content

所以,我試過File.content.toString()這給我Object {type: "Buffer", data: Array[7]}這不是我期待的字符串。這裏發生了什麼?我讀here,這應該工作。

第2步顯示此文件。現在,因爲我現在只使用文本文件,所以只要顯示第一步工作後我得到的字符串即可。但是,對於更復雜的文件,是否有這樣做的好方法?圖像和GIF等?

回答

0

你應該保存文件MIME。

然後設置response.header MIME

response.setHeader("Content-Type", "image/jpeg"); 

response.write(binary) 

response.end() 
+0

所以沒有迴應,因爲這是一個電子應用程序,而不是一個Web應用程序。還有哪些地方可以做到? –

+0

告訴你的應用程序關於文件MIME和緩衝區。 {type:「Buffer」,data:Array [7]}數據是緩衝區數組。使用Buffer.concat(data)來獲得您需要的緩衝區。 –

相關問題