var successCB = function (filePhoto) { var fileType = file.contentType, reader = new FileReader(); reader.onloadend = function () { var image = new Image(); image.src = reader.result; image.onload = function () { var imageWidth = targetWidth, imageHeight = targetHeight; var canvas = document.createElement('canvas'); canvas.width = imageWidth; canvas.height = imageHeight; var ctx = canvas.getContext("2d"); ctx.drawImage(this, 0, 0, imageWidth, imageHeight); // The resized file ready for upload var _blob = canvas.msToBlob(); var _stream = _blob.msDetachStream(); Windows.Storage.StorageFolder.getFolderFromPathAsync(packageId.path).done(function (storageFolder) { storageFolder.createFileAsync(tempPhotoFileName, Windows.Storage.CreationCollisionOption.generateUniqueName).done(function (file) { file.openAsync(Windows.Storage.FileAccessMode.readWrite).done(function (fileStream) { Windows.Storage.Streams.RandomAccessStream.copyAndCloseAsync(_stream, fileStream).done(function () { var _imageUrl = URL.createObjectURL(file); successCallback(_imageUrl); }, function () { errorCallback("Resize picture error."); }); }, function () { errorCallback("Resize picture error."); }); }, function () { errorCallback("Resize picture error."); }); }); }; }; reader.readAsDataURL(filePhoto); };
var successCB = function (filePhoto) { var fileType = file.contentType, reader = new FileReader(); reader.onloadend = function () { var image = new Image(); image.src = reader.result; image.onload = function () { var imageWidth = targetWidth, imageHeight = targetHeight; var canvas = document.createElement('canvas'); canvas.width = imageWidth; canvas.height = imageHeight; var ctx = canvas.getContext("2d"); ctx.drawImage(this, 0, 0, imageWidth, imageHeight); // The resized file ready for upload var finalFile = canvas.toDataURL(fileType); // Remove the prefix such as "data:" + contentType + ";base64," , in order to meet the Cordova API. var arr = finalFile.split(","); var newStr = finalFile.substr(arr[0].length + 1); successCallback(newStr); }; }; reader.readAsDataURL(filePhoto); };