android - 页面显示andriod系统目录下图片
阿神
阿神 2017-04-17 17:44:08
0
2
452

从服务器下载图片到本地路径,然后在前端展示那个图片,路径这块应该怎么处理?求大神支招啊。

阿神
阿神

闭关修行中......

全部回覆(2)
Peter_Zhu

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板