【发布时间】:2017-07-20 14:58:00
【问题描述】:
我想将 Internet 上的图片文件保存到我的手机。我在 AndroidManifest 文件中同时使用了 Internet 和 externalstorage 权限。但它给出了下面给出的错误。我认为这是因为我的设备没有 SD 卡。如果是这样,那么我想知道如何存储在内部存储中。
我的错误
java.io.FileNotFoundException: /storage/emulated/0/Pictures/GettyImages-460712009-560x450.jpg:打开 失败:EACCES(权限被拒绝原因: android.system.ErrnoException:打开失败:EACCES(权限被拒绝)
下面是我的代码。
try {
URL urlobj = new URL(url);
connection= (HttpURLConnection) urlobj.openConnection();
inputStream=connection.getInputStream();
file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath() + "/"+ Uri.parse(url).getLastPathSegment());
FileOutputStream fileOutputStream = new FileOutputStream(file);
int reed = -1;
byte[] buffer = new byte[1024];
// if no data is return -1 keep reading until -1
while( ( reed=inputStream.read(buffer) )!= -1){
fileOutputStream.write(buffer,0,reed);
}
【问题讨论】:
-
发布您的权限。如果使用棉花糖,您必须获得您的应用信息的许可
-
您在哪个设备上运行?如果是棉花糖,请将其更改为棒棒糖或低于棉花糖。如果这不可能,请在您的应用中设置权限允许
标签: android file mobile storage