当前位置:网站首页>van-uploader上传图片,使用base64回显无法预览的问题
van-uploader上传图片,使用base64回显无法预览的问题
2022-07-31 06:10:00 【布偶乱跑】
1.今天在开发过程中,遇到了使用vant上传组件,回显无法预览的问题,在搜索后,解决方法如下:
- html:
<van-uploader v-model="fileList"
accept='.jpg,.jpeg,.png'
:before-read="beforeRead"
:after-read="afterRead"
:max-size="10000 * 1024"
@oversize="onOversize"
:before-delete="beforeDel" />
- js
fileNameList.split(',').forEach(v => {
// 遍历后端返回的文件名
this.$http.secondParty.getImageByName({
fileName: v }).then(k => {
// 文件名请求到base64格式文件
// 图片base64转url
let img = 'data:image/jpeg;base64,' + k.data
let imgurl = this.base64ImgtoFile(img)
console.log('imgurl===', imgurl)
let url =
window.webkitURL.createObjectURL(imgurl) ||
window.URL.createObjectURL(imgurl)
// 创建图片地址
this.fileList.push({
content: 'data:image/jpeg;base64,' + k.data,
File: imgurl,
name: v,
status: 'done',
message: '上传中',
isImage: true,
url
})
})
})
- base64转文件
base64ImgtoFile(dataurl, filename = 'file') {
const arr = dataurl.split(',')
const mime = arr[0].match(/:(.*?);/)[1]
const suffix = mime.split('/')[1]
const bstr = atob(arr[1])
let n = bstr.length
const u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new File([u8arr], `${
filename}.${
suffix}`, {
type: mime
})
},
边栏推荐
猜你喜欢
随机推荐
MySQL系列一:账号管理与引擎
第十六章:构建n(5,7)阶素数幻方
Database Principles Homework 3 — JMU
【Go语言刷题篇】Go完结篇函数、结构体、接口、错误入门学习
tidyverse笔记——管道函数
2022.07.14_每日一题
什么是半波整流器?半波整流器的使用方法
Zotero | Zotero translator插件更新 | 解决百度学术文献无法获取问题
codec2 BlockPool:不可读库
【 TA - frost Wolf _may - "one hundred plan" 】 art 2.3 hard surface
SQL Server Datetime2数据类型
How to use repeating-linear-gradient
DirectExchange switch simple introduction demo
在 ASP.NET Core 应用程序启动时运行代码的 3 种方法
[PSQL] SQL基础教程读书笔记(Chapter1-4)
基于LSTM的诗词生成
从入门到一位合格的爬虫师,这几点很重要
数据库概论 - MySQL的简单介绍
Zotero | Zotero translator plugin update | Solve the problem that Baidu academic literature cannot be obtained
Log4net 思维导图