詳解vue 圖片上傳功能
這次做了vue頁面的圖片上傳功能,不帶裁剪功能的!
首先是html代碼,在input框上添加change事件,如下:
<ul class="clearfix"> <li v-if="imgs.length>0" v-for='(item ,index ) in imgs'> <img :src="item"> </li> <li style="position:relative" v-if="imgs.length>=6 ? false : true"> <img src="../../assets/img/addimg.png"><input class="upload" @change='add_img' type="file"> </li> </ul>
我這里做了圖片數(shù)量的限制,最多6張。
然后是data數(shù)據(jù),如下:
data () { return { imgs: [], imgData: { accept: 'image/gif, image/jpeg, image/png, image/jpg', } } }
imgs數(shù)組是放圖片路徑的,頁面顯示圖片就是循環(huán)這個數(shù)組,imgData是判斷圖片類型的。
接下來是最重要的methods里面的方法,具體如下:
add_img(event){ let reader =new FileReader(); let img1=event.target.files[0]; let type=img1.type;//文件的類型,判斷是否是圖片 let size=img1.size;//文件的大小,判斷圖片的大小 if(this.imgData.accept.indexOf(type) == -1){ alert('請選擇我們支持的圖片格式!'); return false; } if(size>3145728){ alert('請選擇3M以內(nèi)的圖片!'); return false; } var uri = '' let form = new FormData(); form.append('file',img1,img1.name); this.$http.post('/file/upload',form,{ headers:{'Content-Type':'multipart/form-data'} }).then(response => { console.log(response.data) uri = response.data.url reader.readAsDataURL(img1); var that=this; reader.onloadend=function(){ that.imgs.push(uri); } }).catch(error => { alert('上傳圖片出錯!'); }) },
首先是獲取你選擇的圖片,判斷圖片的類型和大小,然后以form表單的形式提交到后臺,后臺會返回給你這個圖片的線上路徑,你把后臺返回的圖片路徑push到圖片數(shù)組里面就可以了。
一般情況下還有刪除圖片的方法,就是把圖片數(shù)組里的那個路徑刪除掉,把數(shù)據(jù)提交到后臺,告訴后臺刪除了哪張圖片就可以了。
以上所述是小編給大家介紹的vue 圖片上傳功能詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- vue+node實現(xiàn)圖片上傳及預(yù)覽的示例方法
- 基于vue-upload-component封裝一個圖片上傳組件的示例
- vue.js 圖片上傳并預(yù)覽及圖片更換功能的實現(xiàn)代碼
- 使用Vue實現(xiàn)圖片上傳的三種方式
- Vue2.0 實現(xiàn)移動端圖片上傳功能
- Vue2.0實現(xiàn)調(diào)用攝像頭進行拍照功能 exif.js實現(xiàn)圖片上傳功能
- vue-quill-editor實現(xiàn)圖片上傳功能
- 基于vue+ bootstrap實現(xiàn)圖片上傳圖片展示功能
- vuejs開發(fā)組件分享之H5圖片上傳、壓縮及拍照旋轉(zhuǎn)的問題處理
- Vue.js 2.0 移動端拍照壓縮圖片上傳預(yù)覽功能
相關(guān)文章
vue如何修改el-form-item中的label樣式修改問題
這篇文章主要介紹了vue如何修改el-form-item中的label樣式修改問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10Webpack+Vue如何導(dǎo)入Jquery和Jquery的第三方插件
本文主要介紹了Webpack+Vue導(dǎo)入Jquery和Jquery的第三方插件的方法,具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02