由于最近項目更新功能比較的忙,也沒時間去整理自己的知識點和管理自己的博客.在Android對手機相冊中的圖片的壓縮和上傳到服務器上,這樣的功能在每個app開發中都會有這樣的需求.所以今天就對android/236859.html">android端怎么快速實現圖片壓縮和上傳進行簡單的分析.
首先需要對圖片進行壓縮,這方面可以使用第三方的庫,我在實際的開發中使用的是 compile ‘top.zibin:Luban:1.0.9'使用也比較的方便,代碼如下:
/** * * @param path 代表的是圖片的uri路徑 */private void getFile(Uri path) { File file = new File(path.getPath());//創建文件 Luban.get(this) .load(file) // 傳入要壓縮的圖片 .putGear(Luban.THIRD_GEAR) // 設定壓縮檔次,默認三擋自己可以選擇 .setCompressListener(new OnCompressListener() { // 設置回調 @Override public void onStart() { // 壓縮開始前調用,可以在方法內啟動 loading UI } @Override public void onSuccess(File file) { // 壓縮成功后調用,返回壓縮后的圖片文件 zipIcon(file); } @Override public void onError(Throwable e) { } }).launch(); } // 壓縮并上傳至服務器 private void zipIcon(File file) { RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file); MultipartBody.Part formData = MultipartBody.Part.createFormData(Constant.AVATAR, "xxx.png", requestBody); //上傳到服務器 // 這樣得到formData文件 就可以通過上傳文件的方式,上傳到服務器上了. }
新聞熱點
疑難解答