fix:downloadFileName

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2026-05-08 17:56:45 +07:00
parent f07cf25489
commit ebd514a33a
3 changed files with 12 additions and 25 deletions

View file

@ -6,6 +6,7 @@ import { ref, onMounted, watch } from "vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry"; import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
import { downloadBlobFile } from "@/modules/10_registry/utils/downloadFile";
import type { FileFormType } from "@/modules/10_registry/interface/index/Main"; import type { FileFormType } from "@/modules/10_registry/interface/index/Main";
@ -57,18 +58,10 @@ async function downloadFile(fileName: string) {
) )
.then(async (res) => { .then(async (res) => {
const downloadUrl = res.data.downloadUrl; const downloadUrl = res.data.downloadUrl;
const response = await fetch(downloadUrl); await downloadBlobFile({
const blob = await response.blob(); downloadUrl: downloadUrl,
const url = URL.createObjectURL(blob); fileName: fileName,
const link = document.createElement("a"); });
link.href = url;
link.download = fileName;
document.body.appendChild(link);
link.click();
setTimeout(() => {
document.body.removeChild(link);
URL.revokeObjectURL(url);
}, 100);
}) })
.catch((e) => { .catch((e) => {
messageError($q, e); messageError($q, e);

View file

@ -6,6 +6,7 @@ import { useQuasar } from "quasar";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry"; import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
import { downloadBlobFile } from "@/modules/10_registry/utils/downloadFile";
import type { FileFormType } from "@/modules/10_registry/interface/index/Main"; import type { FileFormType } from "@/modules/10_registry/interface/index/Main";
@ -57,18 +58,10 @@ async function downloadFile(fileName: string) {
) )
.then(async (res) => { .then(async (res) => {
const downloadUrl = res.data.downloadUrl; const downloadUrl = res.data.downloadUrl;
const response = await fetch(downloadUrl); await downloadBlobFile({
const blob = await response.blob(); downloadUrl: downloadUrl,
const url = URL.createObjectURL(blob); fileName: fileName,
const link = document.createElement("a"); });
link.href = url;
link.download = fileName;
document.body.appendChild(link);
link.click();
setTimeout(() => {
document.body.removeChild(link);
URL.revokeObjectURL(url);
}, 100);
}) })
.catch((e) => { .catch((e) => {
messageError($q, e); messageError($q, e);

View file

@ -49,7 +49,8 @@ export async function downloadBlobFile({
const url = URL.createObjectURL(blobForDownload); const url = URL.createObjectURL(blobForDownload);
const link = document.createElement("a"); const link = document.createElement("a");
link.href = url; link.href = url;
link.download = `${fileName}.${extension}`; const downloadFileName = fileName.includes(".") ? fileName : `${fileName}.${extension}`;
link.download = downloadFileName;
document.body.appendChild(link); document.body.appendChild(link);
link.click(); link.click();
setTimeout(() => { setTimeout(() => {