2015-10-27 53 views
0

我打電話給我的REST API的使用球衣POST請求,我已經把我的文件作爲多實體無法上傳從Android應用大(尺寸)圖像數據庫

File file=new File(mImageUri.getPath()); 
MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 

multipartEntity.addPart("image", new FileBody(file)); 

我的代碼是工作時圖像的大小相對較小(大約小於1 mb),但較大圖像失敗。

回答

0

您必須將圖像縮小爲縮略圖大小。

根據android documentation

例如,它不值得載入1024×768像素的圖片到內存 如果它最終將在 的ImageView顯示在128x96像素的縮略圖。

閱讀this SO貼子。

+0

但我需要上傳圖像下降的質量。像用戶可以在OLX中上傳圖像 –

+1

您可以將圖像縮小到足夠大的尺寸,以至於無法使用太多內存。所有圖像格式(jpg,png等)都會轉換爲位圖,以便Android可以處理它們。但Android無法處理大型位圖(這是硬件限制)。例如,分辨率爲2048x1536且用inSampleSize爲4解碼的圖像會生成大約512x384的位圖。加載到內存使用0.75MB而不是12MB的完整圖像(假設ARGB_8888的位圖配置) – Christian

+0

我建議您閱讀文檔:http://developer.android.com/training/displaying-bitmaps/load-bitmap .html – Christian

0

這似乎是服務器端問題。在服務器上檢查是否有任何限制,因爲默認情況下,服務器端上傳圖像或視頻的限制爲2mb或3mb。

+0

我已經檢查過數據庫限制:/ –