gpt4 book ai didi

java - 尝试从 Android 应用程序将录制的视频上传到服务器时出现 FileNotFoundException

转载 作者:行者123 更新时间:2023-11-30 11:30:50 48 4
gpt4 key购买 nike

我正在尝试录制视频,然后在完成后将其上传到服务器。相关代码在这里:

public void recordVideo(View view){
Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(takeVideoIntent, VIDEO_RESULT);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == VIDEO_RESULT){
handleCameraVideo(data);
}
}

private void handleCameraVideo(Intent intent) {
Uri mVideoUri = intent.getData();
File vidFile = new File(mVideoUri.getPath());
RequestParams params = new RequestParams();
try{
params.put("video", vidFile);
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
//finish upload here, this part isn't relevant to my question
}

问题是在我的 try block 中抛出了 FileNotFoundException,并且堆栈跟踪被打印出来。似乎我应该获得正确的文件:我从 Android 开发者网站获得了大部分代码,直到我制作文件的部分,所以它应该可以工作——这让我相信问题出在File vidFile = new File(mVideoUri.getPath()); 行。任何帮助将不胜感激。

最佳答案

我最终在这里找到了另一个问题,其中有一些代码可以帮助我解决问题:

private String getRealPathFromURI(Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}

然后在我的 handleCameraVideo 方法中:

private void handleCameraVideo(Intent intent) {
Uri mVideoUri = intent.getData();
String data = getRealPathFromURI(mVideoUri);
File vidFile = new File(data);
....

这有效并为我提供了正确的文件。

关于java - 尝试从 Android 应用程序将录制的视频上传到服务器时出现 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17558560/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com