【问题标题】:Uploading file with the uri starting with content://使用以 content:// 开头的 uri 上传文件
【发布时间】:2017-06-06 11:28:37
【问题描述】:

我正在从 android 读取文件并将其上传到远程服务器。我正在以

的形式获取文件
content://com.android.providers.downloads.documents/document/3

由于我使用的是react-native,所以上面的uri可以用作文件路径吗?

我可以获得确切的文件路径,但是当文件选择器获取文件并且文件有空格时,选择器无法读取文件但 uri 会考虑空格。

如何使用content://com.android.providers.downloads.documents/document/3作为文件路径?

【问题讨论】:

  • 你需要创建一个插件来使用ContentResolver.openInputStream()来获取uri内容
  • 我想我找到了一个github.com/Wraptime/react-native-get-real-path 我目前正在测试它。
  • 糟糕的想法......并非所有 uris 都有“真实路径”......如果你确定有真实路径,那么复制来自ContentResolver.openInputStream()的流
  • 你能解释一下`不是所有的uris都有“真实路径”的意思`
  • 该插件适用于极少数Uri 值,它不适用于您的Uri。更好的插件会将内容复制到临时文件,从临时文件上传,然后删除临时文件。

标签: android node.js react-native


【解决方案1】:

如果我明白你想要什么,它就像这样

var x = "content://com.android.providers.downloads.documents/document/3"
const file = {
  uri:  x,
  name: "nameFile",
}

const formdata = new FormData();
formdata.append('Files', file);

fetch('URL', {
   ...

【讨论】:

  • 我也在尝试同样的事情。但是,使用这样的 uri 获取失败并出现网络错误
猜你喜欢
  • 1970-01-01
  • 2020-01-05
  • 2016-02-13
  • 2014-11-25
  • 2022-12-02
  • 2016-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多