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