问题描述
我使用的Adobe空气为iPad / iPhone应用程序。
I'm using Adobe Air for iPad/iPhone application.
我还使用 StageWebViewBridge
( https://开头github.com/paleozogt/StageWebViewBridge 的)为主要web内容显示容器
I'm also using StageWebViewBridge
(https://github.com/paleozogt/StageWebViewBridge) as the main web content displaying container.
我的应用程序非常适用于桌面版,但 StageWebViewBridge
的 StageWebViewDisk
打破HTML文件上传功能:
My application works well for the Desktop version, but the StageWebViewBridge
's StageWebViewDisk
breaks HTML File Uploading feature:
<input id="user_avatar" name="user[avatar]" style="width:100%" type="file" />
也就是说,当文件浏览,并从任拍照或视频
或选择现有的
选择从现实iPad设备,上述 user_avatar
输入没有得到所有更新。
i.e., whenever a file is browsed and selected from either Take Photo or Video
or Choose Existing
from the real iPad device, the above user_avatar
input does NOT get updated at all.
我认为一些路径是搞砸了由 StageWebViewDisk.initialize(级)
。
I believe some paths are messed up by StageWebViewDisk.initialize(stage)
.
您可以找到完整的源代码 StageWebViewDisk
在这里:https://github.com/paleozogt/StageWebViewBridge/blob/master/StageWebViewBridge/src/es/xperiments/media/StageWebViewDisk.as
You can find the full source of StageWebViewDisk
here:https://github.com/paleozogt/StageWebViewBridge/blob/master/StageWebViewBridge/src/es/xperiments/media/StageWebViewDisk.as
和以下code段是非常可疑的:
And the following code snippet is very suspicious:
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(级)
引起的问题。
的证明是,当我不使用 StageWebViewDisk.initialize(级)
,而是直接分配期
到 StageWebViewBridge._view.stage
,它工作得很好。
The proof is that, when I don't use StageWebViewDisk.initialize(stage)
, instead, directly assign the stage
to StageWebViewBridge._view.stage
, it works very well.
我不熟悉的iOS应用程序/ cache目录。
I'm not familiar with the iOS app/cache directories.
请告诉我。
推荐答案
我终于想通了:
_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";
这篇关于StageWebViewDisk打破iPad上的文件上传(IOS?)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!