在iOs上传文件> 256 Mb时崩溃应用程序(Córdova3.5.0FilTransfer 0.4.4)

时间:2014-09-04 09:38:56

标签: ios file-transfer cordova-3

在iPad上传> 256MB的文件时,会发生错误,应用程序关闭。 该应用程序基于Cordova 3.5.0

构建
  • Cordova 3.5.0
  • 文件1.2.0
  • FileTransfer 0.4.4
  • iPad 2版本7.1.2

代码功能上传:

function uploadVideo(task_id){

 navigator.camera.getPicture(
    successGetFileFromCamera,
    failGetFileFromCamera,
    {
       quality: 100,
       destinationType: navigator.camera.DestinationType.FILE_URI,
       sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY,
       mediaType: navigator.camera.MediaType.VIDEO
    }
 );

var chargeBar = '';

function successGetFileFromCamera(fileURI) {
    console.log('Success Camera method getPicture. ' + fileURI);
    window.resolveLocalFileSystemURL(fileURI, successGetFileFromLocal, failGetFileFromLocal);
}

function successGetFileFromLocal(fileEntry) {
    console.log('Success object LocalFileSystem method resolveLocalFileSystemURL.');
    console.log(fileEntry);
    fileEntry.file(successFile, failFile);
}

function successFile(fileObj) {
    console.log('Success File method file.');
    console.log(fileObj);

    var localURL = fileObj.localURL,
        fileName = fileObj.name;

    var options = new FileUploadOptions();
    options.fileKey = "my_video";
    options.fileName = fileName;
    options.mimeType="video/mp4";
    var params = {};
    params.task_id = task_id;
    options.params = params;
    options.chunkedMode = false;

    ft.upload(localURL, encodeURI(host + '/myserver/uploadFile/projectId:' + projectId + '/responderId:' + responderId), successUploadFileToServ, failUploadFileToServ, options);
}

function successUploadFileToServ(r) {
    console.log('Success FileTransfer method upload.');
    console.log(r);
    closeProgress();
    data = $.parseJSON(r.response);
    $.mobile.changePage('index.html');
    if(data.result) {
        navigator.notification.alert('Video file has been successfully loaded', null, 'Upload file', null);
    } else {
        dataHaveError(data);
    }
}

}

记录设备

Sep 4 11:52:18 iPad-Sergej MyApp [1364]:成功相机方法getPicture。文件:///private/var/mobile/Applications/8DC19A51-BB7E-45BB-88B2-E12445F1EB99/tmp/trim.EDD77556-5D40-4009-9A50-BB67D6145727.MOV
9月4日11:52:18 iPad-Sergej MyApp [1364]:线程警告:['文件']采取' 15.891846'女士。插件应该使用后台线程 9月4日11:52:18 iPad-Sergej MyApp [1364]:成功对象LocalFileSystem方法resolveLocalFileSystemURL。
9月4日11:52:18 iPad-Sergej MyApp [1364]:{" isFile":true," isDirectory":false," name":&#34 ; trim.EDD77556-5D40-4009-9A50-BB67D6145727.MOV"" FULLPATH":" /trim.EDD77556-5D40-4009-9A50-BB67D6145727.MOV",& #34;文件系统":""" nativeURL":"文件:/// VAR /移动/应用/ 8DC19A51-BB7E-45BB-88B2-E12445F1EB99 /tmp/trim.EDD77556-5D40-4009-9A50-BB67D6145727.MOV"}
9月4日11:52:18 iPad-Sergej MyApp [1364]:线程警告:['文件']采取了69.734131'女士。插件应该使用后台线程 9月4日11:52:18 iPad-Sergej MyApp [1364]:成功文件方法文件。
9月4日11:52:18 iPad-Sergej MyApp [1364]:{" name":" trim.EDD77556-5D40-4009-9A50-BB67D6145727.MOV"," localURL":" cdvfile://localhost/temporary/trim.EDD77556-5D40-4009-9A50-BB67D6145727.MOV","类型":空,"&lastModifiedDate #34;:1409817138000,"大小":408288782"开始":0,"端":408288782}
9月4日11:52:18 iPad-Sergej MyApp [1364]:MyApp(1364,0x3a76618c)malloc: * mach_vm_map(size = 408289280)失败(错误代码= 3) 错误:无法分配区域 在malloc_error_break中设置断点以进行调试 9月4日11:52:18 iPad-Sergej MyApp [1364]: 由于未捕获的异常终止应用程序' NSFileHandleOperationException',原因:' - [NSConcreteFileHandle readDataOfLength:]:无法分配内存' * 第一次抛出调用堆栈: (0x2d6f8f83 0x381dfccf 0x2d6f8ec5 0x2e0a7931 0x2e0a7fe3 0xe4aff 0xe76a5 0xd2849 0xd253f 0x2e0d9163 0x2d6c4167 0x2d6c3d7f 0x2d6c211b 0x2d62cebf 0x2d62cca3 0x32527663 0x2ff7914d 0xd5af7 0x386ecab7)
9月4日11:52:18 iPad-Sergej ReportCrash [1365]:ReportCrash代表PID 1364
9月4日11:52:19 iPad-Sergej ReportCrash [1365]:制定流程MyApp的崩溃报告[1364]
9月4日11:52:19 iPad-Sergej mediaserverd [1160]:11:52:19.667 [0x2212000] CMSession保留计数> 1!
9月4日11:52:19 iPad-Sergej SpringBoard [33]:[MPUSystemMediaControls]更新现在播放应用程序支持的命令。
9月4日11:52:19 iPad-Sergej com.apple.launchd [1](UIKitApplication:com.my_app [0x51e5] [1364]):( UIKitApplication:com.my_app [0x51e5])工作似乎已经崩溃:中止陷阱:6 9月4日11:52:19 iPad-Sergej backboardd [29]:应用程序' UIKitApplication:com.my_app [0x51e5]'信号异常退出6:中止陷阱:6
9月4日11:52:19 iPad-Sergej ReportCrash [1365]:使用uid将崩溃报告保存到/var/mobile/Library/Logs/CrashReporter/MyApp_2014-09-04-115218_iPad-Sergej.ips:0 gid:0,synthetic_euid: 501 egid:0

任何人都可以遇到类似的问题,请帮忙。或者需要使用其他插件上传。

0 个答案:

没有答案