虽然使用js就可以将图片转为base64,但为了省事,在使用element框架后还是尽量用element的上传功能做图片上传,因为element的上传功能封装的还是挺完善的,不用自己去思考判断各种场景条件,但element好像并没有直接给出生成base64的方法(不确定),所依需要自己添加下代码。
element将图片转为base64的完整案例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>element将图片转为base64流</title> <!-- 引入样式 --> <link href="http://www.duanlonglong.com/link/element.css" rel="stylesheet"> <!-- 引入vue --> <script src="http://www.duanlonglong.com/link/vue.js"></script> <!-- 引入element组件库 --> <script src="http://www.duanlonglong.com/link/element.js"></script> </head> <body> <div id="app"> <el-upload action='' :on-change="getFile" :limit="1" list-type="picture" :auto-upload="false"> <el-button size="small" type="primary">选择图片上传,最多上传一张图片</el-button> </el-upload> </div> <script type="text/javascript"> var app = new Vue({ el: '#app', data: { }, methods: { getFile(file, fileList) { // 得到element返回的图片文件流后调用下面函数转换base64流 this.getBase64(file.raw).then(res => { console.log(res)//输出的为base64流 }); }, getBase64(file) { return new Promise(function(resolve, reject) { let reader = new FileReader(); let imgResult = ""; reader.readAsDataURL(file); reader.onload = function() { imgResult = reader.result; }; reader.onerror = function(error) { reject(error); }; reader.onloadend = function() { resolve(imgResult); }; }); }, } }) </script> </body> </html>
以上便是element Ui将图片转为base64的实例,并在此准备了图片转base64在线工具。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!