StageWebViewDisk打破iPad上的文件上传(iOS?)

时间:2013-03-09 02:25:56

标签: ios file-upload adobe stagewebview stagewebviewbridge

我正在使用Adobe Air for iPad / iPhone应用程序。

我也使用StageWebViewBridgehttps://github.com/paleozogt/StageWebViewBridge)作为主要网络内容展示容器。

我的应用程序适用于桌面版,但StageWebViewBridge的{​​{1}}打破了HTML文件上传功能:

StageWebViewDisk

即,无论何时从真实的iPad设备浏览并从<input id="user_avatar" name="user[avatar]" style="width:100%" type="file" /> Take Photo or Video中选择文件,上述Choose Existing输入都不会得到更新。

我相信某些路径被user_avatar搞砸了。

您可以在此处找到StageWebViewDisk.initialize(stage)的完整来源: https://github.com/paleozogt/StageWebViewBridge/blob/master/StageWebViewBridge/src/es/xperiments/media/StageWebViewDisk.as

以下代码段非常可疑:

StageWebViewDisk

我调试了很多,最后发现case isIPHONE : /* new iOS 5.0 Data Storage Guidelines * https://developer.apple.com/icloud/documentation/data-storage/ * https://developer.apple.com/library/ios/#qa/qa1719/_index.html */ _appCacheFile = new File(File.applicationDirectory.nativePath +"/\.\./Library/Caches"); _applicationCacheDirectory = new File( _appCacheFile.nativePath ).url; _applicationRootPath = _applicationCacheDirectory + '/' + getWorkingDir(); _applicationSourcesDirectory = new File( new File( "app:/" + _document_root ).nativePath ).url; _appDocsDirectory = File.documentsDirectory.url; /* new iOS 5.0 Data Storage Guidelines * https://developer.apple.com/icloud/documentation/data-storage/ * https://developer.apple.com/library/ios/#qa/qa1719/_index.html */ _applicationTempDir = new File(File.applicationDirectory.nativePath +"/\.\./tmp"); // To acomplish the Apple Data Storage Guidelines Rules delete our TMP files dir at exit NativeApplication.nativeApplication.addEventListener(Event.EXITING, deleteTempFolder,false,0,true ); NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, deleteTempFolder, false, 0, true); break; 导致了问题。

证据是,当我不使用StageWebViewDisk.initialize(stage)时,直接将StageWebViewDisk.initialize(stage)分配给stage,效果非常好。

我不熟悉iOS app / cache目录。

请告诉我。

1 个答案:

答案 0 :(得分:0)

我终于明白了:

_applicationTempDir = new File(File.applicationDirectory.nativePath +"/\.\./SWVBTmp");
// It seems "tmp" is being used by the iOS system (such as the html file upload), so we changed to "SWVBTmp";