Fix file uploads (for avatar)

This commit is contained in:
morethanwords 2020-08-30 22:08:01 +03:00
parent 28638ca8fb
commit b4fff0fa45

View File

@ -80,9 +80,27 @@ export class AppDownloadManager {
return deferred;
}
public upload(file: File | Blob) {
const fileName = /* (file as File).name || */'upload-' + this.uploadID++;
public upload(file: File | Blob, fileName?: string) {
if(!fileName) {
const mimeType = file?.type;
if(mimeType) { // the same like apiFileName in appMessagesManager for upload!
const ext = this.uploadID++ + '.' + mimeType.split('/')[1];
if(['image/jpeg', 'image/png', 'image/bmp'].indexOf(mimeType) >= 0) {
fileName = 'photo' + ext;
} else if(mimeType.indexOf('audio/') === 0 || ['video/ogg'].indexOf(mimeType) >= 0) {
fileName = 'audio' + ext;
} else if(mimeType.indexOf('video/') === 0) {
fileName = 'video' + ext;
} else {
fileName = 'document' + ext;
}
} else {
fileName = 'upload-' + this.uploadID++;
}
}
const deferred = this.getNewDeferred(fileName);
apiManager.uploadFile({file, fileName}).then(deferred.resolve, deferred.reject);