Last active
November 2, 2020 09:04
-
-
Save bettysteger/2057e0bd0b4142d4070db0e1175ca47e to your computer and use it in GitHub Desktop.
Upload of blob via angular-file-upload https://github.com/nervgh/angular-file-upload/issues/208
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Show preview of cropped image | |
*/ | |
uploader.onAfterAddingFile = function(item) { | |
$scope.cropped = {image: ''}; | |
var reader = new FileReader(); | |
reader.onload = function(event) { | |
$scope.$apply(function(){ | |
$scope.cropped.image = event.target.result; | |
}); | |
}; | |
reader.readAsDataURL(item._file); | |
}; | |
/** | |
* Upload Blob (cropped image) instead of file. | |
* @see | |
* https://developer.mozilla.org/en-US/docs/Web/API/FormData | |
* https://github.com/nervgh/angular-file-upload/issues/208 | |
*/ | |
uploader.onBeforeUploadItem = function(item) { | |
var blob = dataURItoBlob($scope.cropped.image); | |
item._file = blob; | |
}; | |
/** | |
* Converts data uri to Blob. Necessary for uploading. | |
* @see | |
* http://stackoverflow.com/questions/4998908/convert-data-uri-to-file-then-append-to-formdata | |
* @param {String} dataURI | |
* @return {Blob} | |
*/ | |
var dataURItoBlob = function(dataURI) { | |
// convert base64/URLEncoded data component to raw binary data held in a string | |
var byteString; | |
if (dataURI.split(',')[0].indexOf('base64') >= 0) { | |
byteString = atob(dataURI.split(',')[1]); | |
} else { | |
byteString = decodeURI(dataURI.split(',')[1]); | |
} | |
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]; | |
var array = []; | |
for(var i = 0; i < byteString.length; i++) { | |
array.push(byteString.charCodeAt(i)); | |
} | |
return new Blob([new Uint8Array(array)], {type: mimeString}); | |
}; |
object returned in dataURItoBlob can be uploaded to a blob field in a mysql database?
i am not sure, we stored the file on the server not inside the database.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
object returned in dataURItoBlob can be uploaded to a blob field in a mysql database?