当前位置:网站首页>请求二进制数据和base64格式数据的预览显示
请求二进制数据和base64格式数据的预览显示
2022-07-05 22:19:00 【ws_code_csdn】
1、请求二进制数据,各种格式的数据预览显示。
axios({
method: 'get',
url: `getFile/${type}`,
headers: {
Authorization: userStore.token,
},
// 这里是必须的 'blob'
responseType: 'blob',
}).then((res: any) => {
// pdf 格式
if (type == 1) {
let blob = new Blob([res.data], { type: 'application/pdf' });
pdfSrc.value = URL.createObjectURL(blob);
window.open(pdfSrc.value);
} else if (type == 2) {
// 图片 jpeg格式
let blob = new Blob([res.data], { type: 'image/jpeg' });
imgSrc.value = window.URL.createObjectURL(blob);
} else if (type == 3) {
// 音频
let blob = new Blob([res.data], { type: 'wav/audio' });
if (audio.value) {
audio.value.src = window.URL.createObjectURL(blob);
audio.value.play();
}
} else if (type == 4) {
// 图片 excel格式
const link = document.createElement('a');
let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' });
link.style.display = 'none';
link.href = URL.createObjectURL(blob); //创建一个指向该参数对象的URL
link.setAttribute('download', `表资源${new Date().getTime()}.xls`);
document.body.appendChild(link);
link.click(); //触发下载
document.body.removeChild(link);
}
});注意点:
A、要把 responseType 设置为 ‘blob’;
B、要把对应的type设置好,比如图片 new Blob([res.data], { type: 'image/jpeg' })。
2、base64格式数据图片预览显示
getOperImg()
.then((res) => {
if (res) {
const { code, data } = res;
if (code == 200) {
if (Array.isArray(data) && data.length != 0) {
const { operPic } = data[0];
// operPic 就是请求来的base64图片数据
// 最终的图片地址 需要前边拼接 data:image/jpg;base64,
imgSrc.value = `data:image/jpg;base64,${operPic}`;
}
}
}
})
.catch((err) => {
console.log('获取图片', err);
});边栏推荐
- Two stage locking protocol for concurrency control
- Draw a red lantern with MATLAB
- 50. Pow(x, n). O(logN) Sol
- How to quickly experience oneos
- Talking about MySQL index
- 笔记本电脑蓝牙怎么用来连接耳机
- CA certificate trampled pit
- A substring with a length of three and different characters in the leetcode simple question
- Implementing Lmax disruptor queue from scratch (IV) principle analysis of multithreaded producer multiproducersequencer
- Interprocess communication in the "Chris Richardson microservice series" microservice architecture
猜你喜欢

The difference between MVVM and MVC

CA certificate trampled pit

What if win11 is missing a DLL file? Win11 system cannot find DLL file repair method

Metaverse Ape猿界应邀出席2022·粤港澳大湾区元宇宙和web3.0主题峰会,分享猿界在Web3时代从技术到应用的文明进化历程

Unique occurrence times of leetcode simple questions

Kubernetes Administrator certification (CKA) exam notes (IV)

Qtquick3d real time reflection
![[error record] groovy function parameter dynamic type error (guess: groovy.lang.missingmethodexception: no signature of method)](/img/3e/34b45cd14f0302bb381efd244bc68f.jpg)
[error record] groovy function parameter dynamic type error (guess: groovy.lang.missingmethodexception: no signature of method)

Oracle hint understanding

如何快速体验OneOS
随机推荐
科技云报道荣膺全球云计算大会“云鼎奖”2013-2022十周年特别贡献奖
Leetcode simple question check whether all characters appear the same number of times
Lightweight dynamic monitorable thread pool based on configuration center - dynamictp
How can Bluetooth in notebook computer be used to connect headphones
Storage optimization of performance tuning methodology
Analyse des risques liés aux liaisons de microservices
Talking about MySQL index
The new content of the text component can be added through the tag_ Config set foreground and background colors
FBO and RBO disappeared in webgpu
Overview of concurrency control
如何向mongoDB中添加新的字段附代码(全)
Oracle views the data size of a table
Summary of concurrency control
Understand the basic concept of datastore in Android kotlin and why SharedPreferences should be stopped in Android
Decorator learning 01
Damn, window in ie open()
Countdown to 92 days, the strategy for the provincial preparation of the Blue Bridge Cup is coming~
Performance monitoring of database tuning solutions
Learning of mall permission module
Search: Future Vision (moving sword)