我正在使用下面的代码从我的网络服务下载一些图像,它工作得很好,但是在它们被下载并复制到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发布于 2015-04-01 06:44:33
尝尝这个
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();发布于 2015-04-19 19:07:05
似乎在我从url读取下载的文件名后,代码的末尾添加了一个\n,这导致该文件未知,而且我以后无法使用相同的文件名读取该文件,但现在通过从文件名末尾删除该\n,它现在可以正常工作。
https://stackoverflow.com/questions/29379452
复制相似问题