![](/img/trans.png)
[英]FileNotFoundException: /storage/emulated/0/Android
[英]FileNotFoundException when accessing file stored at /storage/emulated/0 directory in android
我正在尝试通过POST HTTP方法将保存在Android中的/storage/emulated/0/Videos/someVideo.3gp中的录制视频文件传递到远程服务器。 我用这种方法将视频文件以FileBody格式传递到远程服务器。 但是,最后,当我尝试执行httpClient.execute(request)
命令时,它只会继续抛出FileNotFoundException 。
因此,我不明白为什么视频文件不能被外界访问,因为我已经使用getExternalStorageDirectory()
将其保存到sdcard中。 我还为清单文件添加了写权限。
PS我正在使用Nexus 7进行测试。 请帮忙..
提前致谢!
您是否在执行httpClient.execute(request)
之前检查文件是否存在?
从您所关注的问题引用:
File sourceFile = new File(sourceFileUri);
if (!sourceFile.isFile()) {
Log.e("Huzza", "Source File Does not exist");
return 0;
}
编辑:
可能是您没有在onActivityResult(...) method
上从Uri正确转换路径,我正在共享获取正确路径的代码,并且在我的应用程序中运行良好。
String videoPath = "";
try
{
String[] filePathColumn = { MediaStore.Video.Media.DATA };
Cursor cursor = getContentResolver().query(selectedVideoUri,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
videoPath = cursor.getString(columnIndex);
cursor.close();
} catch (Exception e) {
Log.e(TAG,
"Error parsing Video path = " + e.toString());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.