欢迎来到山村网

vue.js如何上传图片实例代码

2019-03-09 13:08:04浏览:983 来源:山村网   
核心摘要:最近爱上了用vue.js做前端,昨天用vue上传图片时遇到了问题,最后半天时间终于摸索出来,我将相关部分的代码贴出来。前端部分div

最近爱上了用vue.js做前端,昨天用vue上传图片时遇到了问题,最后半天时间终于摸索出来,我将相关部分的代码贴出来。

前端部分

<div class="form-group">    <label>背景图</label>    <input type="file" class="form-control" @change="onFileChange"> </div><div class="form-group" v-if="image">    <label>背景图预览</label>    ![](image)</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 ,具体看自己后台环境,我用的是laravelfile_put_contents($filepath, base64_decode($url[1]));//保存图片到自定义的路径

将$bgurl保存在数据库即可。

(责任编辑:豆豆)
下一篇:

迅捷FWR310无线路由器设置图文教程

上一篇:

在Linux下更改桌面分辨率

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com