Appcelerator 解析 uri

Appcelerator resolve uri

我正在研究在应用程序中导入文件的过程,在这种情况下,我正在使用 google 驱动器文件。

当用户选择一个文件 startActivityForResult returns 一个 url 这样的:

content: //com.google.android.apps.docs.storage/document/acc%%3D1%%3Bdoc%%3D1214

我无法解析此 url 以访问文件的内容。有没有人有这方面的经验?

在 google 上,我发现了一些旧模块,但是,我认为不能解决我的问题。

谢谢。

我终于找到了解决办法。 在尝试获取内容之前,您需要将文件复制到 applicationDataDirectory。

复制文件会自动解析内容uri。

var intent = Ti.Android.createIntent({
    action: Ti.Android.ACTION_GET_CONTENT,
    type: '*/*'
});

$.win.activity.startActivityForResult(intent, function(e) {

    if (e.intent) {

        var filePath = e.intent.data;
        var file = Ti.Filesystem.getFile(filePath);
        var copiedFile = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, file.name);
        file.copy(copiedFile.nativePath); 

        if (!copiedFile.exists()) {
            // show your error message
            return;
        }

        // file content
        console.log(copiedFile.read().text);

    }
});