vue 上传和下载文件/图片
- 前端上传图片/文件(fromData格式)
export function add(formdata) {
return request({
url: '',
method: 'post',
headers: { 'Content-Type': 'multipart/form-data' },
data: formdata
})
}
var formdata = new FormData();
formdata.append("file", this.file.row);
- 前端下载文件/展示图片(blob)
function getFile(name) {
return service({
url: '/file/downloadFileRedis?fileName='+name,
method: 'get',
responseType:'blob'
})
getFile(this.fileName).then(res =>{
const blob = new Blob([res],{type:Headers['content-type']});
if('download' in document.createElement('a')){
const a = document.createElement('a');
a.download = this.fileName;
a.style.display = 'none';
a.href = window.URL.createObjectURL(blob);
document.body.appendChild(a);
a.click();
window.URL.revokeObjectURL(a.href);
document.body.removeChild(a);
}else{
if(typeof window.navigator.msSaveBlob !== 'undefined'){
window.navigator.msSaveBlob(blob, _this.selected);
}else{
let URL = window.URL || window.webkitURL;
let downloadUrl = URL.createObjectURL(blob);
window.location = downloadUrl;
}
}
})
getFile(this.fileName).then(res =>{
const blob = new Blob([res],{type:Headers['content-type']});
let url = window.URL.createObjectURL(blob);
this.imgurl1 = url
return true
})
getFile(this.fileName).then(res =>{
const blob = new Blob([res],{type:Headers['image/svg+xml;charset=utf-8']});
let url = window.URL.createObjectURL(blob);
this.imgurl1 = url
return true
})