在新线程中复制Phonegap文件
Phonegap Copy File in new Thread
我写了一个phonegap应用程序,我将在android图库中选择的文件复制到sd卡上。这个函数可以工作,但是会在拷贝时冻结主线程。
现在我测试了在Web Worker中编写这个,我将fileEntry发布到Web Worker,但是出现了一个错误:
03-18 09:31:37.575 1713-1713/de.scisys.app I/chromium﹕ [INFO:CONSOLE(1)] "Uncaught TypeError: Object #<Object> has no method 'copyTo'", source: blob:file%3A///7fd968c1-2d2b-469e-b4b7-fab1172bb496 (1)
下面是我的代码:
function(fileEntry) {
...
var blob = new Blob(['onmessage = function(e) { var data = e.data; data.fileEntry.copyTo(data.parentEntry, data.newName, function() { postMessage("success") }, function() { postMessage("error") }); }'], {type: 'text/javascript'});
var blobURL = window.URL.createObjectURL(blob);
var worker = new Worker(blobURL);
worker.onmessage = function(e) {
alert(e.data)
};
worker.postMessage({'fileEntry': fileEntry, 'parentEntry': parentEntry, 'newName': fileId+"."+fileName[fileName.length-1]});
...
}
是有一个错误在我的代码,或有一些人的想法?
谢谢你的帮助!
编辑: 我通过编辑Phonegap核心文件插件找到了一个解决方案。在FileUtils的"执行"方法中,我将工作更改为线程。http://www.mindfiresolutions.com/implementing多线程- - android -插件的phonegap - 260 - 2572. - php
据我所知,Web Workers从来不在本地目录下工作
文件://
它在服务器端工作。例如,与其将文件放在"file://"处,不如将路径设置为
***> http://locahost/ or***
***> http://server_ip_address***
因此Phonegap由位于设备目录下的HTML和Javascript组成,因此在Phonegap中不支持web worker。^^是我在谷歌上搜到的:)。请先google一下
相关文章:
- 使用Clipboard.js复制span文本
- ZeroClipboard-在复制之前添加到值
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- angular.js没有'无法在PhoneGap中处理视图标记
- 在phonegap应用程序内部重定向不起作用
- 压缩phonegap中ios的图像插件
- 复制图像路径以单击它
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 尝试使用Phonegap进行php登录
- 从手机中选择多个图像'使用phonegap的多媒体资料
- 复制当前url按钮-Javascript
- cordova-2.0.0.js不适用于使用phonegap的android
- Phonegap 3.7.0手电筒插件没有'不起作用
- 将文件从应用程序文件夹复制到JQM/Phonegap应用程序中的根文件夹
- 使用Phonegap复制到剪贴板剪贴板iOS
- 最大长度和复制粘贴在Cordova/PhoneGap Android应用程序
- 如何在phonegap中复制数组到文件
- 将文件从www复制到'Documents'使用PhoneGap
- 在新线程中复制Phonegap文件