怎么在vue项目中实现一个图片上传功能
今天就跟大家聊聊有关怎么在vue项目中实现一个图片上传功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
具体内容如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <style> .uploadimg{ width:100px; height:100px; border-radius: 50%; } </style> <body> <div id="app"> <input type="file" @change="upTx" id="txUrl"> <img class="uploadimg" :src="imgsrc"/> </div> </div> </body> <!--<script src="util.js">--> <!--</script>--> <script src="../vue.js"> </script> <script src="../jquery-1.11.1.js"></script> <script src="../axios.js"></script> <script> var vm = new Vue({ el:"#app", data:{ imgsrc:"000", return:{ } }, mounted(){ }, methods:{ upTx() { var _this = this; var r = new FileReader(); var file = document.getElementById("txUrl").files[0]; var beat64Url; if (!/image\/\w+/.test(file.type)) { // this.$message.error("上传的文件必须为图片!!"); alert('上传的文件必须为图片'); return false; } r.readAsDataURL(file); r.onload = function(e) { beat64Url = this.result; }; var formData = new FormData(); formData.append("upload_img", $("#txUrl")[0].files[0]); axios({ url: "https://mk_api.dthudong.cn/api/file/upImg", method: "POST", headers: { token: '55a31e89d7dd8b80282cba7d844d1c28' }, data: formData }) .then(res => { console.log(res.data); if (res.data.code == 0) { vm.imgsrc =res.data.data.src; console.log(vm.imgsrc) } else { _this.$message({ message: res.data.msg, type: "alert" }); } }) .catch(function(error) { }); }, } }) </script> </html>
看完上述内容,你们对怎么在vue项目中实现一个图片上传功能有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。