2016-07-29 75 views
1

Ich möchte Datei-Upload-Funktion wie Dropbox zu implementieren. Ich benutze Appcelerator. Diese Funktion kann Dateien von Acrobat, iBook, Work, Excel, Drive usw. hochladen und auf iOS einspielen.Datei-Upload wie Dropbox von Appcelerator implementieren

Ich habe auf Appcelerator recherchiert, konnte aber keine Lösung dafür finden.

Ich weiß nicht, wie Sie auf lokalen Speicher auf iOS zugreifen oder mit einer anderen App von Appcelerator arbeiten.

Können Sie mir eine Anregung zu diesem Problem

Vielen Dank

Antwort

0

Sie CFBundleDocumentTypes in Ihrem tiapp.xmlios Element registrieren sollten, die die gleiche wie Modifizierung der Info.plist in Xcode funktioniert würde für einen Obj- C oder Swift App. Sobald dies abgeschlossen ist, können Sie in Ihrer App auf das Ereignis resume warten und unter Ti.App.getArguments() nachsehen, ob Ihre App gestartet wurde, indem Sie in einer anderen App "Öffnen in" auswählen. Sie können auch den Ordner Inbox innerhalb von Ti.Filesystem.applicationDataDirectory ansehen, um zu sehen, ob sich dort neue Dateien befinden - dort platziert iOS sie, wenn Sie sie mit Ihrer App teilen.

Ihr Code für die Handhabung des Dokuments könnte wie folgt aussehen (in Ihrem resume Handler):

var cmd = Ti.App.getArguments(), 
    inboxFiles = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, 'Inbox').getDirectoryListing() || []; 
if (inboxFiles.length > 0) { 
    inboxFiles = inboxFiles.sort(byLastCreated).map(toTiFile); 
    if (!cmd.url) { 
     cmd.url = inboxFiles[0].getNativePath(); 
    } 
    if (inboxFiles.length > 1) { 
     for (var i = inboxFiles.length - 1; i >= 1; i--) { 
      inboxFiles[i].deleteFile(); 
     } 
    } 
} 
if (cmd && cmd.url && cmd.url.indexOf('file://') === 0) { 
    // TODO: Do something interesting with cmd.url. 
}