0

Ich arbeite an einer Prozedur, um eine Datei in der Anwendung zu importieren, in diesem Fall nehme ich eine Google Drive-Datei.Appcelerator auflösen uri

Wenn der Benutzer eine Datei auswählt startActivityForResult eine URL wie folgt zurück:

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

ich nicht diese URL auflösen kann, den Inhalt der Datei zuzugreifen. Hat jemand Erfahrung dazu?

Auf Google fand ich ein altes Modul, aber ich denke nicht, löst mein Problem.

Vielen Dank.

Antwort

0

Endlich habe ich die Lösung gefunden. Sie müssen die Datei in das applicationDataDirectory kopieren, bevor Sie versuchen, den Inhalt abzurufen.

Durch das Kopieren der Datei wird der Inhalt uri automatisch aufgelöst.

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); 

    } 
});