2015-04-15 144 views
0

我在前端使用Ember,後端使用Node/Express。我從我的客戶端直接將圖像上傳到S3。我現在的問題是圖像尺寸很大(970×728像素(自然:3264×2448像素)),我想優化尺寸。我已經能夠使用畫布做到這一點。但結果dataURI也非常大。我可以將它存儲在我的服務器上,但這似乎很愚蠢,因爲我將有一個大文件坐在s3中,另一個坐在我的服務器上爲每個圖像。我覺得解決方案應該首先將dataURI(以blob形式)直接上傳到s3,但這正是我難以理解的地方。爲了在畫布中繪製圖像,我需要s3的src url。那麼如何獲得dataURI並將其保存到s3中,而不必在s3中擁有原始文件呢?或者我應該在s3中保存兩個版本?任何關於如何實現這一目標的建議都會很棒。謝謝!如何在將圖像直接上傳到s3之前調整圖像大小

回答

0

瀏覽器對這類事物的支持是有限的。您可以將大圖像上傳到您的服務器,使用您的服務器調整圖像大小,然後從您的服務器上傳調整大小的圖像到s3(確保刪除工作副本)。這對隱藏您的AWS信用也很有用。

另一種選擇是使用一個服務,如:http://filepicker.io

+0

感謝您的建議晶體,爲此,部分具體爲瀏覽器支持有限?我一直在閱讀,調整大小客戶端變得越來越普遍,以便服務器資源得到釋放。我並不需要舊的瀏覽器支持,我認爲所有主流瀏覽器都支持canvas(http://caniuse.com/#feat=canvas)。 – kaustubhb

+2

如果是這樣的話,那麼試試:http://stackoverflow.com/questions/23945494/use-html5-to-resize-an-image-before-upload –

+0

謝謝!看起來非常有希望,我會給它一個鏡頭。 – kaustubhb

相關問題