fix(core): Handle missing binary metadata in download urls (#5242)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2023-01-25 10:19:19 +01:00
committed by GitHub
parent ac460aa841
commit 21579a8a2a
6 changed files with 44 additions and 15 deletions

View File

@@ -45,18 +45,18 @@ export default mixins(restApi).extend({
};
},
async mounted() {
const id = this.binaryData?.id;
const isJSONData = this.binaryData.fileType === 'json';
const { id, data, fileName, fileType, mimeType } = (this.binaryData || {}) as IBinaryData;
const isJSONData = fileType === 'json';
if (!id) {
if (isJSONData) {
this.jsonData = jsonParse(atob(this.binaryData.data));
this.jsonData = jsonParse(atob(data));
} else {
this.embedSource = 'data:' + this.binaryData.mimeType + ';base64,' + this.binaryData.data;
this.embedSource = 'data:' + mimeType + ';base64,' + data;
}
} else {
try {
const binaryUrl = this.restApi().getBinaryUrl(id, 'view');
const binaryUrl = this.restApi().getBinaryUrl(id, 'view', fileName, mimeType);
if (isJSONData) {
this.jsonData = await (await fetch(binaryUrl)).json();
} else {