当前位置: 首页 > 知识库问答 >
问题:

Android从设备中选择文档,但无法获得扩展名类型的文件名

蒙化
2023-03-14

我希望用户能够上传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

共有1个答案

潘振国
2023-03-14

null

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

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

使用DocumentFile.FromSingleFile()URI包装在DocumentFile中。然后可以在DocumentFile上使用getName()getType()分别获取显示名称和MIME类型。

 类似资料:
  • 我正在开发一个Android应用程序,其中一个功能是让用户选择要打开的文件(我想打开一个纯文本的.txt文件)。我以前用Java开发过Android应用程序,但这次我使用的是Kotlin,而且这是我第一次使用Kotlin。 我现在让应用程序显示一个文件选择器,让用户点击他们想要打开的文件。然后我尝试使用File对象打开文件并执行forEachLine循环。但是由于某种原因,它抛出了一个java.i

  • 问题内容: 这是一个您可以在网上到处阅读的各种问题,并有各种答案: 等等 但是,总有“最佳方法”,它应该在堆栈溢出中。 问题答案: 来自其他脚本语言的人们总是认为自己的语言更好,因为他们具有内置功能而不是PHP(我现在正在研究Pythonistas :-)。 实际上,它确实存在,但是很少有人知道。相约: 这是快速且内置的。可以根据传递给它的常量为您提供其他信息,例如规范路径。 请记住,如果您希望能

  • cmf_get_file_extension($filename) 功能 获取文件扩展名 参数 $filename: string 文件名 返回 string 文件扩展名

  • X2.2.0新增 sp_get_file_extension($filename) 功能: 获取文件扩展名 参数: $filename: 文件名 返回: 类型string,文件扩展名 使用: $suffix = sp_get_file_extension('23232.png');

  • 本文向大家介绍Java获取文件的类型和扩展名的实现方法,包括了Java获取文件的类型和扩展名的实现方法的使用技巧和注意事项,需要的朋友参考一下 Java获取文件的类型和扩展名 实现代码: 程序运行效果图: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 问题内容: 看到代码: 问题答案: 较新的编辑: 自从最初发布此问题以来,很多事情已经发生了变化-wallacer的修订后的答案以及VisioN的出色表现中有很多非常好的信息 编辑: 仅仅因为这是公认的答案;wallacer的答案确实好得多: 我的旧答案: 应该做。 编辑: 为了回应PhiLho的评论,请使用类似以下内容的内容: