Using blob directly and removed useless code
This commit is contained in:
parent
b279221b07
commit
2279169018
|
@ -98,7 +98,6 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function sendAvatar() {
|
function sendAvatar() {
|
||||||
var dataurl = null;
|
|
||||||
var filesToUpload = avatar.files;
|
var filesToUpload = avatar.files;
|
||||||
var file = filesToUpload[0];
|
var file = filesToUpload[0];
|
||||||
|
|
||||||
|
@ -136,18 +135,20 @@
|
||||||
ctx = canvas.getContext("2d");
|
ctx = canvas.getContext("2d");
|
||||||
ctx.drawImage(img, 0, 0, width, height);
|
ctx.drawImage(img, 0, 0, width, height);
|
||||||
|
|
||||||
dataurl = canvas.toDataURL("image/png");
|
var imageBlob = canvas.toBlob("image/png");
|
||||||
|
|
||||||
var form = document.getElementById('theForm')
|
var form = document.getElementById('theForm')
|
||||||
var formData = new FormData(form)
|
var formData = new FormData(form)
|
||||||
// Deleting the big image from the form data to prevent send
|
// Deleting the big image from the form data to prevent send
|
||||||
formData.delete('imageSelector')
|
formData.delete('imageSelector')
|
||||||
// Adding new blob with new image with right size
|
// Adding new blob with new image with right size
|
||||||
formData.append("image", dataURItoBlob(dataurl));
|
formData.append("image", imageBlob);
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
xhr.onreadystatechange = function() {
|
xhr.onreadystatechange = function() {
|
||||||
if (xhr.readyState == 4 && xhr.status == 200) {
|
if (xhr.readyState == 4 && xhr.status == 200) {
|
||||||
location.reload();
|
location.reload();
|
||||||
|
} else {
|
||||||
|
alert('An error occurred uploading avatar image')
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
xhr.open(form.method, form.action, true);
|
xhr.open(form.method, form.action, true);
|
||||||
|
@ -156,27 +157,6 @@
|
||||||
}
|
}
|
||||||
// Load files into file reader
|
// Load files into file reader
|
||||||
reader.readAsDataURL(file);
|
reader.readAsDataURL(file);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function dataURItoBlob(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 = unescape(dataURI.split(',')[1]);
|
|
||||||
}
|
|
||||||
// separate out the mime component
|
|
||||||
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
|
|
||||||
|
|
||||||
// write the bytes of the string to a typed array
|
|
||||||
var ia = new Uint8Array(byteString.length);
|
|
||||||
for (var i = 0; i < byteString.length; i++) {
|
|
||||||
ia[i] = byteString.charCodeAt(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Blob([ia], {type:mimeString});
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue