0

我在 android 手机上有文件的 uri : content://com.android.contacts/contacts/472/photo。我是从 PhoneGap联系人插件中获得的。它实际上是联系人图像。现在我需要将该图像上传到服务器上,但是当我上传它并尝试查看它时,它是不可见的。我设法用谷歌搜索了一下,发现对于文件上传,我需要有完整file://路径。现在我的问题是如何转换content://file://如何content://在服务器上使用 uri 上传文件?

我试过使用window.resolveLocalFileSystemURI(uri, win, fail);

function win(fe){
    alert("win");
    alert(fe.fullPath);
}
function fail(a){
    alert('fail');
}

但不知何故,它只是“跳过” window.resolveLocalFileSystemURI(uri, win, fail);。它永远不会执行...... LogCat 中没有错误,也没有来自这 3 个的任何警报......这可以解决我的问题吗?为什么没有返回响应?

4

1 回答 1

0

我对联系人插件没有直接经验,但文档让我认为您不是在查看文件系统 URI,而是在联系人数据库中的一个条目。[http://docs.phonegap.com/en/3.3.0/cordova_contacts_contacts.md.html#contacts.find]

因此,您可能误解了 URI 的概念,尤其是在文件系统的上下文中。[http://en.wikipedia.org/wiki/Uniform_resource_identifier] 和 [http://www.html5rocks.com/en/tutorials/file/filesystem/]。

从插件文档中,我们确实看到“照片”是每个联系人的属性。

如何在服务器上上传带有 content:// uri 的文件?

对于所需的联系人,您可以使用 photos 属性创建一个文件,然后使用 phonegap 文件传输插件上传。[http://docs.phonegap.com/en/3.3.0/cordova_file_file.md.html#FileTransfer]

于 2014-02-21T16:35:51.793 回答