2013-05-09 85 views
0

我正在研究一個允許圖像上傳到服務器的Web應用程序,但圖片需要花費一些時間才能通過3g/h進行上傳。我想知道是否有某種方法可以預先壓縮圖片或上傳圖片?在移動設備上預壓縮圖像

例如,用戶以3g/h的速度拍攝照片(大約2 - 3 mb),然後開始上傳。這需要一段時間,或者連接在3g-g-h或任何開關或下降時斷開。瀏覽器沒有那麼好,圖像可能會丟失。

任何建議請。 :)

PS。我正在談論一個跨(移動)瀏覽器/跨(移動)平臺

+1

您可以使用畫布標記將圖像大小調整爲jpeg dataURL的自定義JPEG質量,然後可以上傳。 – dandavis 2013-05-09 16:25:42

+0

你看過畫布嗎?桌面上仍然有這種混合支持,所以你害怕我的手機停止工作。 – Graham 2013-05-09 16:27:03

+0

我想你可以在調整大小/編碼之前將圖像繪製到畫布上。問題是,你得到一個base64編碼的字符串,這實際上需要更多的空間來存儲。如果瀏覽器對回覆進行了gzip,它可以是可比較的,但我認爲它沒有比原始圖像更好(僅僅是原始圖像的大小)。我能想到的僅僅是(令人難以置信的)選項是運行在本機上的應用程序移動設備,從而使您可以訪問libjpeg libpng zlib等等。讓網絡基礎設施非常糟糕,您和您的訪問者居住在哪裏。 :( – enhzflep 2013-05-09 16:30:14

回答

0

我覺得這已經是answered。您提到使用C#/ C++假設非本機應用程序的跨瀏覽器/跨平臺移動平臺。如果您確實在本地開發客戶端移動應用程序,則可以訪問必要的圖像庫(GD)來壓縮圖像(無需調整它們的大小)。