2013-11-14 117 views
2

我正在嘗試使用Imagemagick來操作用戶上傳的圖像。現在我有一套簡單的Imagemagick.convert []命令服務器端,可以在上傳的圖像上執行各種任務。我的問題來自Imagemagick,它需要將文件數據讀入流星而不是來自url。我最終做的是將上傳的文件寫入Imagemagick能夠操作映像的/ public文件夾中。但是,因爲Imagemagick.convert命令列表(保存並寫入/ public),應用程序不斷刷新,分解進程並將其發送到無限刷新週期。我不認爲資產是一個可行的解決方案,但我需要一些文件夾,我可以在流星中寫入,不會通過刷新中斷各種Imagemagick進程。我已經嘗試了隱藏文件夾的.folder,但流星給了我一個錯誤:「你不能使用以點開頭的名字」,「,因爲這些名字是爲系統保留的,請選擇其他名稱。有什麼想法嗎?Imagemagick與流星集成

+0

This [thread](http://stackoverflow.com/questions/19961296/meteor-write-file-on-meteor-com)表示,將'〜'加到文件名的末尾會防止重新啓動文件更改。 – user728291

+0

你不應該在'public'目錄中操作你的文件。用你的系統'tmp'代替,只寫'public'最終結果。 –

+0

我也試過在最後使用'〜'。從我的流星服務器寫入'tmp'的路徑是什麼? – Nate

回答

0

@Nate我寫的(如其他人所說)通過使用臨時目錄解決這個問題,一個小例子應用程序:

https://github.com/ideaq/image-uploads

我的解決方案爲您提供:

  • Easy圖片上傳在任何流星應用
  • 圖像被重新調整大小以縮圖移動優化和全尺寸原稿
  • 圖像被上傳到AWS S3CDN遞送(可擴展性和速度)
  • A 縮略圖的圖像顯示在用戶而不刷新頁面

Demo of the upload functionality

如果您發現了更好的流星圖像上傳方式,請分享!謝謝。 :-)

+0

我喜歡它!我正在使用imagemagick執行無法通過普通js完成的獨特操作。但爲了存儲文件,我會推薦collectionFS。它由mongo的gridFS構建,並使用流星收集方案。實施簡單而快速。檢查出來(https://github.com/CollectionFS/Meteor-CollectionFS) – Nate

+0

我看了一下collectionFS。考慮到大多數MongoDB託管提供商的存儲空間是*敲詐*,在Mongo中存儲圖像不是很經濟。 https://www.mongohq.com/pricing因此,S3是大量數據的途徑。並簡單地將S3網址存儲在數據庫中。 – nelsonic

+0

這是非常真實的,需要謹慎地記住。我會檢查出S3。這聽起來像是一件好事。 – Nate