【问题标题】:Android selecting document from device but not able to get the file name with the extension typeAndroid从设备中选择文档但无法获取扩展名类型的文件名
【发布时间】: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


【解决方案1】:

但文件扩展名不包含在文件路径中

没有“文件路径”,因为这不是文件。

我想显示文件的名称和类型是 .pdf 还是 .png

使用DocumentFile.fromSingleFile() 将您的Uri 包装在DocumentFile 中。然后,您可以通过use getName()getType() on the DocumentFile 分别获取显示名称和 MIME 类型。

【讨论】:

    猜你喜欢
    • 2010-11-05
    • 2013-09-11
    • 2013-05-28
    • 2017-12-24
    • 1970-01-01
    • 2015-06-13
    • 2011-06-04
    相关资源
    最近更新 更多