Android xutil上傳下載檔案
阿新 • • 發佈:2018-11-14
1.在build.gradle下加入compile 'org.xutils:xutils:3.5.0'
2.在AndroidManifest.xml下加入許可權
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3.在Application檔案按的oncreate方法下加入:
x.Ext.init(this); //x.Ext.setDebug(BuildConfig.DEBUG); // 是否輸出debug日誌, 開啟debug會影響效能.
4.上傳圖片:
public void uploadPhoto(String filePath, String url) { HttpUtils httpUtils = new HttpUtils(30000); RequestParams params = new RequestParams(); params.addBodyParameter("file", new File(filePath)); //以post的方式上傳圖片 httpUtils.send(HttpMethod.POST, url, params, new RequestCallBack<String>() { @Override public void onFailure(HttpException arg0, String arg1) { result = " "; showInfo("上傳失敗"); } @Override public void onSuccess(ResponseInfo<String> arg0) { try { List<UploadImage> uploadimageList = (ArrayList<UploadImage>) JsonUitl.stringToList(arg0.result, UploadImage.class); if (uploadimageList.size() > 0) { result = uploadimageList.get(0).getUrl(); } } catch (Exception r) { String s = r.getMessage(); } } }); }
5 .下載圖片
ExecutorService executorService = Executors.newCachedThreadPool();
try { JSONArray jsonArray=new JSONArray(result); if(jsonArray.length()>0){ for(int i=0;i<jsonArray.length();i++) { final JSONObject jsonObject = (JSONObject) jsonArray.get(i); executorService.execute(new Runnable() { @Override public void run() { try { //圖片的請求路徑 RequestParams requestParams = new RequestParams("http://**************/"+jsonObject.getString("resourceAddress")); //圖片儲存在本地路徑 requestParams.setSaveFilePath("/sdcard/tudou/"+jsonObject.getString("resourceAddress")); x.http().get(requestParams, new Callback.ProgressCallback<File>() { //等待時回撥方法 @Override public void onWaiting() { } //開始後回撥方法 @Override public void onStarted() { } //載入時回撥方法 @Override public void onLoading(long total, long current, boolean isDownloading) { } //下載成功的回撥方法 @Override public void onSuccess(File result) { } //出錯時回撥方法 @Override public void onError(Throwable ex, boolean isOnCallback) { } //取消時回撥方法 @Override public void onCancelled(CancelledException cex) { } //完成時回撥方法 @Override public void onFinished() { } }); } catch (Exception e) { e.printStackTrace(); } } }); } } } catch (Exception e) { e.printStackTrace(); }
6.使用adb命令檢視下載結果:
7.使用adb命令匯入到本地電腦檢視