2016-12-01 2 views
0

У меня возникли проблемы с попыткой прочитать FileReader с шириной файла от Samsung. С другими устройствами он работает нормально.Прочитать файл с помощью FileReader от Samsung

Это скрипт для чтения службы:

function readFileAsync(file) { 
    var p = $q.defer(); 
    var reader = new FileReader(); 

    reader.onload = function(event) { 
    console.log('[FileReader] Success in read ' + JSON.stringify(event)); 
    //var byteFile = new Int8Array(event.target.result); 
    //p.resolve(byteFile); 
    p.resolve(event.target.result); 
    }; 

    reader.onabort = function(reason) { 
    console.log('[FileReader] abort ' + JSON.stringify(reason)); 
    p.reject(reason); 
    reader.abort(); 
    } 

    reader.onerror = function(err) { 
    console.log('[FileReader] ' + JSON.stringify(err)); 
    p.reject(err); 
    }; 

    // for ios 
    var localFileURL = file.fullPath.indexOf('file:/') == 0 ? file.fullPath : 'file://' + file.fullPath; 

    window.resolveLocalFileSystemURL(localFileURL, function (fileEntry) { 
    fileEntry.file(function (validFile) { 
     reader.readAsArrayBuffer(validFile); 
    }); 
    }); 

    return p.promise; 
} 

Это "файл" аргумент:

{ 
    "name": "20161201_134758.mp4", 
    "localURL": "cdvfile://localhost/sdcard/DCIM/Camera/20161201_134758.mp4", 
    "type": "video/mp4", 
    "lastModified": null, 
    "lastModifiedDate": 1480610881000, 
    "size": 5464040, 
    "start": 0, 
    "end": 0, 
    "fullPath": "file:/storage/emulated/0/DCIM/Camera/20161201_134758.mp4" 
} 

А вот ошибка, outouts в 'OnError' событие:

{ 
    "type": "error", 
    "bubbles": false, 
    "cancelBubble": false, 
    "cancelable": false, 
    "lengthComputable": false, 
    "loaded": 0, 
    "total": 0, 
    "target": { 
    "_readyState": 2, 
    "_error": { 
     "code": 1 
    }, 
    "_result": null, 
    "_progress": 0, 
    "_localURL": "cdvfile://localhost/sdcard/DCIM/Camera/20161201_134758.mp4", 
    "_realReader": {} 
    } 
} 

Я застрял в этом, поэтому любой совет поможет. Благодаря

ответ

0

Просто пришлось добавить разрешения с телефона ... facepalm

Смежные вопросы