这篇文章主要介绍了vue 使用原生组件上传图片的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
需求描述:需要将后台返回的图片路径赋值到img的 src
1 一个页面上传一张图片
当一个页面只有一个位置需要上传图片,很简单,直接绑定上传按钮
html页面
<div class="col-md-4"> </div>
js代码:封装上传图片的方法
uploadPic(e) { var _self = this; var inputFile = e.target; if (!inputFile.files || inputFile.files.length <= 0) { return; } var file = inputFile.files[0]; var formData = new FormData(); formData.append('file', file); formData.append('SaveDir', 'Map/MapItem'); formData.append("FileName", $.whiskey.tools.dateFormat(new Date(), "HHmmssffff")); $.ajax({ url: "/Upload/UploadPic",//后台上传图片的方法 type: 'POST', dateType: 'json', cache: false, data: formData, processData: false, contentType: false, success: function (res) { if (res.ResultType == 3) { var filePath = res.Data.file;//后台返回的图片路径 _self.mapItem.MapIcon = filePath;//将路径赋值到声明的变量中 } } }); },
2 一个页面上传多张图片
当一个页面有多个位置需要上传图片,如果按照上面方法,得需要绑定多个上传函数,所以我把重复的部分封装出来,用到了promise函数
html页面
<div class="col-md-4"> </div>
js代码:封装上传图片的方法
uploadPic(e) { var _self = this; var inputfile = e.target; _self.uploadImg(inputfile).then(data => { _self.mapItem.MapIcon = data;//data为取到的图片路径 }) }, //封装函数 uploadImg(inputFile) { var _self = this; if (!inputFile.files || inputFile.files.length { var file = inputFile.files[0]; var filepath = ""; var formData = new FormData(); formData.append('file', file); formData.append('SaveDir', 'Map/MapSite'); formData.append("FileName", $.whiskey.tools.dateFormat(new Date(), "HHmmssffff")); $.ajax({ url: "/Upload/UploadPic", type: 'POST', dateType: 'json', cache: false, data: formData, processData: false, async:false, contentT<em style="color:transparent">本文来源gao.dai.ma.com搞@代*码#网</em>ype: false, success: function (res) { if (res.ResultType == 3) { filepath = res.Data.file; suc(filepath); } } }); }) }, },
补充知识:vue 利用原生input上传图片并预览并删除
看代码~
<div class="com-upload-img"> <div class="img_group"> <div class="img_box"> <div class="filter" /></div><div class="img_box"> <div class="img_show_box"> <i class="img_delete" /><!-- <i class="img_delete"></i> --></div></div></div></div>
js部分
以上就是vue 使用原生组件上传图片的实例的详细内容,更多请关注gaodaima搞代码网其它相关文章!