Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:如何从Intent.ACTION获取文档内容并将其转换为字节数组?_Android_Document - Fatal编程技术网

Android:如何从Intent.ACTION获取文档内容并将其转换为字节数组?

Android:如何从Intent.ACTION获取文档内容并将其转换为字节数组?,android,document,Android,Document,我希望我的应用程序的用户能够从他们的驱动器中获取PDF文档并将其发送到服务器 服务器端终结点已就绪,我将按以下方式打开驱动器: final Intent chooseFileIntent = new Intent(Intent.ACTION_GET_CONTENT); String[] mimetypes = {"application/pdf"}; chooseFileIntent.setType("*/*"); chooseFileIntent.addCategory(Intent

我希望我的应用程序的用户能够从他们的驱动器中获取PDF文档并将其发送到服务器

服务器端终结点已就绪,我将按以下方式打开驱动器:

final Intent chooseFileIntent = new Intent(Intent.ACTION_GET_CONTENT);
String[] mimetypes = {"application/pdf"};
chooseFileIntent.setType("*/*");     
chooseFileIntent.addCategory(Intent.CATEGORY_OPENABLE);
if (chooseFileIntent.resolveActivity(activity.getApplicationContext().getPackageManager()) != null) {
    chooseFileIntent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
    activity.startActivityForResult(chooseFileIntent, Uploader.PDF);
}
然后在获取文档后:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    // What to do here with data?
}
这就是我被卡住的地方,我不知道如何用这种方法处理数据

谢谢你的帮助

Android:如何从Intent.ACTION获取文档内容并将其转换为字节数组

这只适用于小文档。否则,您将耗尽内存。使用API连接可以使用InputStream而不是字节[]工作的服务器

我不知道如何用这种方法处理数据


其中的data.getData将为您提供所选文档的Uri。getContentResolver将为您提供一个ContentResolver,在ContentResolver上调用openInputStream,传入Uri,将为您提供一个由Uri标识的内容的InputStream。

这可能会帮助您:非常感谢您的回答!