android下载的图片格式不正确

时间:2015-03-31 22:09:23

标签: android android-imageview outputstream

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

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

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();
    }

}

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

_58df8aa6dbb44ff7b870b49a4b2d8efb-mob.jpg

2 个答案:

答案 0 :(得分:1)

试试这个

 bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outStream);

这是一个小例子

File file = new File(file.getPath() + "/" + fileNameMobile);
FileOutputStream fOut = new FileOutputStream(file);

bmp.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
fOut.flush();
fOut.close();

答案 1 :(得分:0)

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