fix sending actual file when not scaled

This commit is contained in:
10G Meow 2023-08-07 08:48:34 +03:00
parent da704f84d9
commit 160ca1067c

View file

@ -1113,6 +1113,7 @@ export default {
fileObj.dimensions = null;
fileObj.type = file.type;
fileObj.actualSize = file.size;
fileObj.actualFile = file
try {
fileObj.dimensions = sizeOf(dataUriToBuffer(evt.target.result));
@ -1218,33 +1219,41 @@ export default {
this.$refs.attachment.value = null;
if (this.isCurrentFileInputsAnArray) {
let inputFiles = this.currentFileInputs.map(entry => {
// other than file type image
if(entry instanceof File) {
return entry;
} else {
if (entry.scaled && entry.useScaled) {
// Send scaled version of image instead!
return entry.scaled;
} else {
// Send actual file image when not scaled!
return entry.actualFile;
}
return entry;
}
})
const promises = inputFiles.map(inputFile => util.sendImage(this.$matrix.matrixClient, this.roomId, inputFile, this.onUploadProgress));
Promise.all(promises).then(() => {
this.currentSendOperation = null;
this.currentFileInputs = null;
this.currentSendProgress = null;
if (withText) {
this.sendMessage(withText);
}
})
.catch((err) => {
if (err.name === "AbortError" || err === "Abort") {
this.currentSendError = null;
this.currentSendErrorExceededFile = null;
} else {
this.currentSendError = err.LocaleString();
this.currentSendErrorExceededFile = err.LocaleString();
}
this.currentSendOperation = null;
this.currentSendProgress = null;
});
const promises = inputFiles.map(inputFile => util.sendImage(this.$matrix.matrixClient, this.roomId, inputFile, this.onUploadProgress));
Promise.all(promises).then(() => {
this.currentSendOperation = null;
this.currentFileInputs = null;
this.currentSendProgress = null;
if (withText) {
this.sendMessage(withText);
}
})
.catch((err) => {
if (err.name === "AbortError" || err === "Abort") {
this.currentSendError = null;
this.currentSendErrorExceededFile = null;
} else {
this.currentSendError = err.LocaleString();
this.currentSendErrorExceededFile = err.LocaleString();
}
this.currentSendOperation = null;
this.currentSendProgress = null;
});
}
},