我目前正在開發我的第一個基於Java的RESTful服務,應該在Heroku上運行。該服務管理一些具有關聯圖像的對象。由於Heroku不能存儲這些圖像(除了將它們存儲在數據庫中),我想到使用外部(CDN),如Amazon CloudFront。我第一次嘗試實現這一點如下:存儲在Heroku上運行的基於Java的REST服務的圖像
- 在客戶端編碼圖像(base64)。
- 將封裝在Json中的編碼圖像發送到服務器端。
- 解碼服務器端的圖像。
- 處理圖像(縮放,創建縮略圖等)。
- 使用適用於Java的AWS SDK將圖像存儲在亞馬遜的CloudFront中。
- 在postgreSQL database中存儲一個帶有關聯對象的圖像的鏈接。現在
我的問題是,如果這是要走的路,或者如果有更好的方法來做到這一點,如果this GitHub project是一個很好的點開始。如果這有助於給出答案 - 圖像在桌面和移動設備以及網絡應用程序中使用。
根據圖像的大小,您也可以直接在PostgreSQL中將圖像存儲爲'bytea'字段或使用'pg_largeobject'。 –
正如我在我的文章中提到的,我知道這是可能的,但是Dynos並不便宜,並且浪費他們的計算能力來交付內容不是一個好主意。此外,我必須處理許多圖像並將圖像存儲在數據庫中,但在大多數情況下,這也不是一個好主意。所以我正在尋找一個使用CDN的解決方案。 – Phidelux
完全合情合理。 –