2012-07-27 44 views
4

我需要上傳一個文件到流星,做一些圖像處理(如果需要,圖像轉換,從圖像生成縮略圖),然後將其存儲在外部圖像存儲服務器(s3)。這應該儘可能快。 你對nodejs圖像處理庫有什麼建議嗎? 如何我可以上傳文件到meteorjs?meteorjs圖像上傳/轉換

謝謝

回答

4

我結束了以下解決方案:

1)自定義上傳網址

__meteor_bootstrap__.app.stack.splice (0, 0, { 
    route: '/upload', 
    handle: function (req,res, next) { 
     //handle upload 
    }.future() 
}); 

2)使用強大的NodeJS模塊文件中的函數內流星服務器端路線上傳

+1

如何在流星中使用Formidable nodejs?有沒有辦法來安裝它? – saada 2013-02-27 19:07:01

0

我不認爲流星有任何支持上傳;也許有些事情是在未來計劃的。在此期間,我會是(假設你可以讀取該文件與的FileReader或東西):

一)文件插入蒙戈,然後刪除它時,它被保存到S3

B)從客戶端保存到S3(不知道是否有「安全」的方式來做到這一點..即不放棄您的憑據,但它可能是值得探討的)。

c)[如果你不能使用FileReader]使用一個iframe或其他東西POST到外部服務器,你可以控制,它可以處理上傳,然後從流星服務器與它通信。

+0

我怎樣才能實現?我的意思是我需要將數據發佈到一些流星網址,它可以將其解釋爲二進制數據。我怎樣才能做到這一點 ? – user1528384 2012-07-29 19:51:19

+0

不,我的意思是你用FileReader將輸入數據讀出到二進制blob中,然後將其插入到mongo db中。如果您需要將表單數據發佈到URL,您將需要嘗試c) – 2012-07-30 01:52:28

4

我找到的最簡單的解決方案是使用FilePicker.io。將其集成到您的Meteor App並直接插入S3非常容易。

3

在我的啓動(hausor.com)我使用https://github.com/CollectionFS/Meteor-CollectionFS和其他插件,它支持亞馬遜S3文件上傳和圖像縮放/裁剪。

+0

嗨,那看起來像我正在尋找。你可以更具體一些,並解釋(post gist)你如何做到這一點/你使用什麼插件進行圖像縮放/裁剪?謝謝! – 2015-02-18 21:26:12

0

請檢查我的答案在這裏的一個:File upload and download using meteor

我使用打雜進行文件上傳,只是使用的文件寫入fs = Npm.require("fs"): 只要把這些裏面打雜:,保存到是你上傳的路徑,簡單的美國阿帕奇或檔案託管,並使用它的其它端口..

file.pipe(fs.createWriteStream(saveTo))