首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android下载的图片格式不正确

android下载的图片格式不正确
EN

Stack Overflow用户
提问于 2015-04-01 06:09:23
回答 2查看 125关注 0票数 0

我正在使用下面的代码从我的网络服务下载一些图像,它工作得很好,但是在它们被下载并复制到SD卡后,它们是未知的文件类型,尽管它们在最后有.jpg,我的应用程序仍然可以将它们加载到imageviews中,但是我不能通过设备的图库从文件管理器打开任何这些下载的图像。有什么想法吗?

下面是我下载和保存图片的方法:

代码语言:javascript
复制
public void downloadImage(String url, String fileName) {
    try {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);
        String[] fileNameSplit = fileName.split("\\.");
        String fileNameMobile = fileNameSplit[0] + "-mob." + fileNameSplit[1];

        URL urlConnection = new URL(url);
        URLConnection connection = urlConnection.openConnection();

        InputStream in = connection.getInputStream();

        File outFile = new File(file.getPath() + "/" + fileNameMobile);
        OutputStream out = new FileOutputStream(outFile);

        copyFile(in, out);
        out.close();
        in.close();


    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}

文件管理器浏览的目录中的示例文件名:

代码语言:javascript
复制
_58df8aa6dbb44ff7b870b49a4b2d8efb-mob.jpg
EN

回答 2

Stack Overflow用户

发布于 2015-04-01 06:44:33

尝尝这个

代码语言:javascript
复制
 bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outStream);

下面是一个小例子

代码语言:javascript
复制
File file = new File(file.getPath() + "/" + fileNameMobile);
FileOutputStream fOut = new FileOutputStream(file);

bmp.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
fOut.flush();
fOut.close();
票数 1
EN

Stack Overflow用户

发布于 2015-04-19 19:07:05

似乎在我从url读取下载的文件名后,代码的末尾添加了一个\n,这导致该文件未知,而且我以后无法使用相同的文件名读取该文件,但现在通过从文件名末尾删除该\n,它现在可以正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29379452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档