从服务器下载图片到本地路径,然后在前端展示那个图片,路径这块应该怎么处理?求大神支招啊。
闭关修行中......
1.建立存放圖片的資料夾2.建立儲存圖片檔案3.下載圖片寫入檔案
//一般图片存储在手机SD卡 获取手机的SD卡根目录增加temp的文件夹路径 Environment.getExternalStorageDirectory().getAbsolutePath() + "/temp";
下載圖片並儲存在本地主要代碼
void doSaveImage(){ String filePath = FileUtil.getEnvironmentPath(); Log.i("doSaveImage",filePath + ""); File fileFloder = new File(filePath); if(!fileFloder.exists()){ if(fileFloder.mkdirs()){ Log.i("doSaveImage","file.mkdirs" + " true"); }else{ Log.i("doSaveImage","file.mkdirs" + " false"); Toast.makeText(this,"save error!",Toast.LENGTH_SHORT).show(); } } InputStream in = null; OutputStream out = null; try { Log.i("doSaveImage",AppConst.IMG_HEAD_URL + mUrl); URL url = new URL(AppConst.IMG_HEAD_URL + mUrl); URLConnection con = url.openConnection(); con.setConnectTimeout(5*1000); int contentLength = con.getContentLength(); in = con.getInputStream(); byte[] bytes = new byte[1024]; File file = new File(fileFloder.getPath(), name +".jpg"); out = new FileOutputStream(file); int len; while ((len = in.read(bytes)) != -1){ Log.i("doSaveImage",len + ""); out.write(bytes,0,len); } } catch (Exception e) { e.printStackTrace(); }finally { try{ if(in != null) in.close(); if(out != null) out.close(); }catch (IOException e){ e.printStackTrace(); } } }
String path = null;if (getExternalCacheDir() != null) {//判斷外部儲存是否可用,也就是SD卡 //假如有就用SD卡 path = context.getExternalCacheDir().getAbsolutePath() + File.separator;} else {//否則存在手機自帶記憶體 path= context.getCacheDir().getAbsolutePath() + File.separator;}
以上都只是寫到了根目錄,可以自行根據需求再新建目錄
getExternalCacheDir方法context可以直接用Application的,或是直接在Application裡面呼叫getExternalCacheDir
1.建立存放圖片的資料夾
2.建立儲存圖片檔案
3.下載圖片寫入檔案
下載圖片並儲存在本地主要代碼
String path = null;
if (getExternalCacheDir() != null) {//判斷外部儲存是否可用,也就是SD卡
//假如有就用SD卡
path = context.getExternalCacheDir().getAbsolutePath() + File.separator;
} else {
//否則存在手機自帶記憶體
path= context.getCacheDir().getAbsolutePath() + File.separator;
}
以上都只是寫到了根目錄,可以自行根據需求再新建目錄
getExternalCacheDir方法context可以直接用Application的,或是直接在Application裡面呼叫getExternalCacheDir