在Android中使用file://访问本地文件

时间:2012-11-11 14:54:58

标签: android

我想从我的应用链接到Android设备中的本地文件。它可以通过从浏览器中使用file://打开它。这在Android中是否可行,如果是这样,我需要放置的路径是什么,只需尝试文件://在Chrome浏览器中不显示任何内容。

5 个答案:

答案 0 :(得分:2)

  

这在Android中是否可行

这取决于浏览器。

  

如果是的话我需要放置什么路径

您可以使用指向世界可读文件的file://网址。

  

只是尝试文件://在Chrome浏览器中没有显示任何内容

您需要按照file://跟随世界可读文件的路径。由于您的网站可能不知道这条路是什么,我不知道您希望如何设置此链接。

但是,例如,假设您的设备的外部存储位于/mnt/sdcard/,并且您的文件名为foo.txt,则可以输入file:///mnt/sdcard/foo.txt以在Chrome中显示该文件

答案 1 :(得分:0)

file:///path/to/foo.txt会为您提供该文件的网址路径。确保文件是世界可读的。

如果您尝试访问应用中的文件,请确保您拥有权限READ_EXTERNAL_STORAGE。在API版本23之上,您必须明确请求用户获取存储权限。这个link详细介绍了如何操作。

答案 2 :(得分:0)

我从Yahoo邮件下载的文件存储在/ storage / emulated / 0 / Download中。我用termux证实了这一点。 chrome浏览器可以将此目录中的文件称为file:///storage/emulated/0/Download/file.ext或file:///sdcard/Download/file.ext。这些URL均不适用于Firefox浏览器(版本61.0)。 Firefox似乎旨在通过“工具” |“工具”来访问下载。下载但可能仅下载浏览器下载的文件。回到chrome,更一般而言,我可以转到file:/// sdcard并查看许多文件和目录。 或者,可以通过设置Web服务器来解决文件权限问题。如果您是程序员,则可以通过安装node.js(和termux)并使用express编写HTTP服务器来实现。假设已将其配置为侦听端口8080,则该地址当然会称为http://localhost:8080/file.ext

答案 3 :(得分:0)

另一个受欢迎的路径是

/storage/emulated/0/

所以下载目录中索引文件的路径是

file:///storage/emulated/0/Downloads/index.html

如何轻松确定本地路径?使用默认图像查看器打开本地存储的图像,在上下文菜单中选择图像详细信息。这将包括给定系统上的绝对路径。

答案 4 :(得分:-1)

file:/// sdcard / Works但它只显示内部存储器