vue一般都是配合框架使用,如element,iview等,但此处只说纯vue怎么将图片转为base64流,其实在vue里图片转base64流与js将图片转为base64没什么区别,只是改变一些语法,把js的事件,定义变量等根据vue的语法写出来而已,下面直接上实例。
实例代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>vue中JS将图片转base64案例</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script> </head> <body> <style type="text/css"> .a-upload { padding: 4px 10px; height: 20px; line-height: 20px; position: relative; cursor: pointer; color: #888; background: #fafafa; border: 1px solid #ddd; border-radius: 4px; overflow: hidden; display: inline-block; *display: inline; *zoom: 1 } .a-upload input { position: absolute; font-size: 100px; right: 0; top: 0; opacity: 0; filter: alpha(opacity=0); cursor: pointer } .a-upload:hover { color: #444; background: #eee; border-color: #ccc; text-decoration: none } </style> <div class="upload-img"> <div id="app"> <input type="file" class="a-upload" name="upload" @change="uploadImg($event, 1)" id="upload"> <img :src="showurl" > </div> </div> <script type="text/javascript"> new Vue({ el: '#app', data: { showurl: '' }, methods: { uploadImg(e) { if (!/\.(gif|jpg|jpeg|png|bmp|GIF|JPG|PNG)$/.test(e.target.value)) { alert('图片类型必须是.gif,jpeg,jpg,png,bmp中的一种!') return false } const file = e.target.files[0] var reader = new FileReader() // 转化为base64 reader.readAsDataURL(file) reader.addEventListener("load", () => { this.showurl = reader.result console.log('这是base64流',reader.result) }, false); } } }) </script> </body> </html>
以上便是vue将图片转为base64流的完整案例,如果报错,可能由于引入的vue链接不通,请自行更换链接,并在此准备了图片转base64在线工具。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!