}
}
+function FileErrorCodeToErrCode(err_code) {
+ switch(err_code) {
+ case FileError.SECURITY_ERR:
+ return FileTransferError.ABORT_ERR;
+ default:
+ return FileError.FILE_NOT_FOUND_ERR;
+ }
+}
+
function checkURL(url) {
return url.indexOf(' ') === -1;
}
}
}
- function errorCB() {
- fail(FileTransferError.FILE_NOT_FOUND_ERR);
+ function errorCB(error) {
+ fail(FileErrorCodeToErrCode(error.code));
}
resolveLocalFileSystemURL(filePath, successCB, errorCB);
xhr.addEventListener('load', function (evt) {
if ((xhr.status === 200 || xhr.status === 0) && xhr.response) {
+ try {
+ tizen.filesystem.resolve(dirPath, function (dir) {
+ if (dir.isFile) {
+ fail(FileTransferError.FILE_NOT_FOUND_ERR);
+ return;
+ }
- tizen.filesystem.resolve(dirPath, function (dir) {
- if (dir.isFile) {
- fail(FileTransferError.FILE_NOT_FOUND_ERR);
- return;
- }
-
- function writeFile(dir) {
- var file = dir.createFile(fileName);
-
- file.openStream(
- 'rw',
- function (stream) {
- stream.writeBytes(Array.prototype.slice.call(new Uint8Array(xhr.response)));
-
- delete downloads[id];
+ function writeFile(dir) {
+ var file = dir.createFile(fileName);
+
+ file.openStream(
+ 'rw',
+ function (stream) {
+ stream.writeBytes(Array.prototype.slice.call(new Uint8Array(xhr.response)));
+
+ delete downloads[id];
+
+ resolveLocalFileSystemURL(
+ filePath,
+ function (fileEntry) {
+ fileEntry.filesystemName = fileEntry.filesystem.name;
+ successCallback(fileEntry);
+ }, function (err) {
+ fail(TizenErrCodeToErrCode(err.code));
+ });
+ }, function (err) {
+ fail(TizenErrCodeToErrCode(err.code));
+ }
+ );
+ }
- resolveLocalFileSystemURL(
- filePath,
- function (fileEntry) {
- fileEntry.filesystemName = fileEntry.filesystem.name;
- successCallback(fileEntry);
- }, function (err) {
- fail(TizenErrCodeToErrCode(err.code));
- });
+ dir.deleteFile(
+ filePath,
+ function() {
+ writeFile(dir);
}, function (err) {
- fail(TizenErrCodeToErrCode(err.code));
- }
- );
- }
-
- dir.deleteFile(
- filePath,
- function() {
- writeFile(dir);
- }, function (err) {
- writeFile(dir);
- });
-
- }, function (err) {
- fail(TizenErrCodeToErrCode(err.code));
- },
- 'rw');
+ writeFile(dir);
+ });
+
+ }, function (err) {
+ fail(TizenErrCodeToErrCode(err.code));
+ },
+ 'rw');
+ } catch(e) {
+ fail(FileTransferError.ABORT_ERR);
+ }
} else if (xhr.status === 404) {
fail(FileTransferError.INVALID_URL_ERR,
String.fromCharCode.apply(null, new Uint8Array(xhr.response)));