文件上传
fileUpload(val) {
let fd = new FormData();
fd.append("file", val.file);
this.$axios
.post(`userFile/uploadFile`, fd, { timeout: 60000 })
.then((res) => {
if (res.data.code == 200) {
this.$message.success(val.file.name + " 上传成功!");
} else {
this.$message.error(val.file.name + " 上传失败!");
}
})
.catch(() => {
this.$message.error(val.file.name + " 上传失败!");
});
},
文件下载
download(url, requestData) {
loadingInstance = Loading.service();
this.$axios({
method: "post",
url: url,
data: this.$qs.stringify(requestData),
responseType: "blob",
timeout: 120000,
})
.then((response) => {
let data = response.data;
if (!data) {
return;
}
if (data.type === "application/json") {
var reader = new FileReader();
reader.readAsText(data, "utf-8");
let that = this;
reader.onload = function () {
that.$message.error(JSON.parse(reader.result)["msg"]);
};
return;
}
let content_disposition = response.headers["content-disposition"];
let filename = "file";
if (content_disposition.indexOf("filename") > -1) {
filename = content_disposition.split("=")[1].trim();
filename = decodeURI(escape(filename));
}
let url = window.URL.createObjectURL(new Blob([data]));
let link = document.createElement("a");
link.style.display = "none";
link.href = url;
link.setAttribute("download", filename);
document.body.appendChild(link);
link.click();
})
.catch((error) => {
this.$message.error(error.message);
})
.finally(() => loadingInstance.close());
},