通过Appcelerator实现Dropbox之类的文件上传

时间:2016-07-29 10:07:16

标签: file upload titanium appcelerator dropbox

我想实现像Dropbox这样的文件上传功能。我使用Appcelerator。此功能可以从Acrobat,iBook,Work,Excel,Dri​​ve等上传文件。并在iOS上制作。

我已经研究过Appcelerator但是找不到任何解决方案。

我不知道如何访问iOS上的本地存储或Appcelerator与其他应用程序一起使用。

你能否就这个问题给我任何建议

非常感谢

1 个答案:

答案 0 :(得分:1)

您应该在CFBundleDocumentTypes tiapp.xml元素中注册ios,这与在Xcode中为Obj-C或Swift应用修改Info.plist的工作方式相同。完成后,您可以在应用中收听resume事件,并通过从其他应用选择“打开”来查看Ti.App.getArguments()以查看您的应用是否已启动。您还可以查看Inbox内的Ti.Filesystem.applicationDataDirectory文件夹,看看其中是否有新文件 - iOS会在将它们分享到您的应用时放置它们。

处理文档的代码可能如下所示(在resume处理程序中):

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.
}