This commit is contained in:
Peter Maquiran
2022-09-28 21:05:28 +01:00
parent aa72837f66
commit 4c8e522d40
4 changed files with 43 additions and 10 deletions
+29 -2
View File
@@ -613,8 +613,34 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
}
dataURItoBlob(dataURI) {
// convert base64 to raw binary data held in a string
// doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this
var byteString = atob(dataURI.split(',')[1]);
// separate out the mime component
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]
// write the bytes of the string to an ArrayBuffer
var ab = new ArrayBuffer(byteString.length);
// create a view into the buffer
var ia = new Uint8Array(ab);
// set the bytes of the buffer to the correct values
for (var i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
}
// write the ArrayBuffer to a blob, and you're done
var blob = new Blob([ab], {type: mimeString});
return blob;
}
async takePictureMobile() {
const roomId = this.roomId
const file = await Camera.getPhoto({
@@ -624,8 +650,8 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
source: CameraSource.Camera
});
const response = await fetch('data:image/jpeg;base64,' + file.base64String!);
const blob = await response.blob();
const blob = this.dataURItoBlob('data:image/jpeg;base64,' + file.base64String)
console.log('data:image/jpeg;base64,' + file.base64String)
const formData = new FormData();
formData.append("blobFile", blob);
@@ -648,6 +674,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
}
async takePicture() {
const roomId = this.roomId
const image = await this.CameraService.takePicture();