【发布时间】:2021-06-04 23:21:03
【问题描述】:
我希望用户能够将 pdf 和图像文件上传到服务器及之后 选择文件我想显示文件的名称和类型是 .pdf 或 .png
但文件扩展名不包含在文件路径中
这就是我开始意图的方式
btnUploadDocument.setOnClickListener(view -> {
Intent chooseFile = new Intent(Intent.ACTION_GET_CONTENT);
chooseFile.addCategory(Intent.CATEGORY_OPENABLE);
chooseFile.setType("image/*|application/pdf");
chooseFile = Intent.createChooser(chooseFile, "Choose a file");
startActivityForResult(chooseFile, REQ_UPLOAD_DOCUMENT);
});
这是我获取返回数据的方式
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQ_UPLOAD_DOCUMENT && resultCode == RESULT_OK && data != null){
Uri path = data.getData();
try {
InputStream inputStream = FTLBookingActivity.this.getContentResolver().openInputStream(path);
byte[] pdfInBytes = new byte[inputStream.available()];
inputStream.read(pdfInBytes);
String encodedPDF = Base64.encodeToString(pdfInBytes, Base64.DEFAULT);
Toast.makeText(this, "Document Selected", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我尝试选择一张图片,但路径的值低于
content://media/external/images/media/599
【问题讨论】:
-
是的,而且没有路径,但是 uri.toString() 获取的uri的内容方案。如果您有任何问题,请在帖子中提出。
-
@blackapps 好的,那我如何获取文件名和扩展名。我认为很明显我的问题是什么
-
应该在帖子中提出问题。不在 cmets 中。
-
@blackapps 我想要的结果写在帖子和标题中,实际结果也在帖子中!
标签: java android file-upload