|
@@ -1,7 +1,6 @@
|
|
import { Message } from "element-ui";
|
|
import { Message } from "element-ui";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
- // 通用文件下载方法
|
|
|
|
async fileDownload(url, fileName) {
|
|
async fileDownload(url, fileName) {
|
|
try {
|
|
try {
|
|
// 检查URL是否合法
|
|
// 检查URL是否合法
|
|
@@ -14,7 +13,7 @@ export default {
|
|
.toLowerCase()
|
|
.toLowerCase()
|
|
.split(".")
|
|
.split(".")
|
|
.pop();
|
|
.pop();
|
|
- if (!["jpg", "jpeg", "png", "gif", "webp",'mp4','mov','mp3'].includes(fileType)) {
|
|
|
|
|
|
+ if (!["jpg", "jpeg", "png", "gif", "webp","mp4","mov","mp3"].includes(fileType)) {
|
|
Message.error("该文件的格式不支持下载");
|
|
Message.error("该文件的格式不支持下载");
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
@@ -31,7 +30,14 @@ export default {
|
|
const blob = await response.blob();
|
|
const blob = await response.blob();
|
|
const $link = document.createElement("a");
|
|
const $link = document.createElement("a");
|
|
$link.href = URL.createObjectURL(blob);
|
|
$link.href = URL.createObjectURL(blob);
|
|
- $link.download = fileName || url.split("/").pop() || "download";
|
|
|
|
|
|
+
|
|
|
|
+ // 确保文件名包含正确的后缀
|
|
|
|
+ let finalFileName = fileName || url.split("/").pop() || "download";
|
|
|
|
+ if (!finalFileName.toLowerCase().endsWith(`.${fileType}`)) {
|
|
|
|
+ finalFileName = `${finalFileName}.${fileType}`;
|
|
|
|
+ }
|
|
|
|
+ $link.download = finalFileName;
|
|
|
|
+
|
|
document.body.appendChild($link);
|
|
document.body.appendChild($link);
|
|
$link.click();
|
|
$link.click();
|
|
document.body.removeChild($link);
|
|
document.body.removeChild($link);
|