vue.js 上傳圖片實例代碼
更新時間:2017年06月22日 16:24:42 作者:童蒙_
這篇文章主要介紹了vue.js 上傳圖片實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
最近愛上了用vue.js做前端,昨天用vue上傳圖片時遇到了問題,最后半天時間終于摸索出來,我將相關(guān)部分的代碼貼出來。
前端部分
<div class="form-group"> <label>背景圖</label> <input type="file" class="form-control" @change="onFileChange"> </div> <div class="form-group" v-if="image"> <label>背景圖預(yù)覽</label>  </div>
vue.js部分
在methods里添加
onFileChange(e) { var files = e.target.files || e.dataTransfer.files; if (!files.length) return; this.createImage(files[0]); }, createImage(file) { var image = new Image(); var reader = new FileReader(); var vm = this; reader.onload = (e) => { vm.image = e.target.result; }; reader.readAsDataURL(file); },
那么提交時如何獲取呢?
在提交的方法里,通過 this.image 即可,獲取的圖片格式是圖片流格式,以data:image
開頭。
如何在后端(我用php)獲取呢?
直接貼代碼
$bg = $request->get('image');//獲取圖片流 $url = explode(',',$bg); $filename = md5(time().str_random(8)).'.png';//自定義圖片名 $filepath = public_path('image').'/'.$filename;//圖片存儲路徑 $bgurl = '/image/'.$filename;//圖片url ,具體看自己后臺環(huán)境,我用的是laravel file_put_contents($filepath, base64_decode($url[1]));//保存圖片到自定義的路徑
將$bgurl保存在數(shù)據(jù)庫即可。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用vue與jquery實時監(jiān)聽用戶輸入狀態(tài)的操作代碼
本文是腳本之家小編給大家?guī)淼氖褂胿ue與jquery實時監(jiān)聽用戶輸入狀態(tài),實現(xiàn)效果是input未輸入值時,按鈕禁用狀態(tài),具體操作代碼大家參考下本文吧2017-09-09