页面显示andriod系统目录下图片

发布于 2022-09-03 15:03:42 字数 51 浏览 13 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情释 2022-09-10 15:03:43

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();
            }
        }
    }
许久 2022-09-10 15:03:43

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文