vue上传图片到数据库并显示到页面

本文主要和大家介绍了vue实现的上传图片到数据库并显示到页面功能,结合实例形式分析了基于vue.js的数据库操作及页面图片显示相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。

1、点击上传图片,弹出选择图片选项框。

页面代码:

上传图片

vue上传图片到数据库并显示到页面

登录后复制

由于我们要设置上传图片的样式,所以把input隐藏,并要做如下操作把input的点击事件给p框:

mounted: function () { var upload = document.getElementById("btnUpload"); var avatar = document.getElementById("avatar"); upload.onclick =function(){  avatar.click(); //注意IE的兼容性 };}

登录后复制

2、在api接口的controller层加入两个文件,命名自己定,如:

立即学习“前端免费学习笔记(深入)”;

upFile.js

let multer=require('multer');let storage = multer.diskStorage({  //设置上传后文件路径,uploads文件夹会自动创建。  destination: function (req, file, cb) {    cb(null, './public/uploads')  },  //给上传文件重命名,获取添加后缀名  filename: function (req, file, cb) {    let fileFormat = (file.originalname).split(".");    cb(null, file.fieldname + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1]);  }});//添加配置文件到multer对象。let upload = multer({  storage: storage});module.exports = upload;

登录后复制

upFileController.js

var muilter = require('./upFile.js');//multer有single()中的名称必须是表单上传字段的name名称。var upload=muilter.single('file');function dataInput(req, res) {  upload(req, res, function (err) {    //添加错误处理    if (err) {      return console.log(err);    }    //文件信息在req.file或者req.files中显示。    let photoPath = req.file.path;    photoPath = photoPath.replace(/public/,"");//将文件路径中的public去掉,否则会和静态资源配置冲突    //将photoPath存入数据库即可    console.log(photoPath);    res.send(photoPath);  });}module.exports = {  dataInput};

登录后复制

3、在页面中将图片的地址存到数据库

upload: function (e) {    var that = this;    let formData = new window.FormData();    let file = e.target.files[0];    formData.append('file',file);//通过append向form对象添加数据    //利用split切割,拿到上传文件的格式    var src = file.name,     formart = src.split(".")[1];    //使用if判断上传文件格式是否符合    if (formart == "jpg" || formart == "png" ||     formart == "docx" || formart == "txt" ||     formart == "ppt" || formart == "xlsx" ||     formart == "zip" || formart == "rar" ||     formart == "doc") {     //只有满足以上格式时,才会触发ajax请求     this.$axios.post(this.$api.personalCenter.upFile,formData).then(function (res) {      that.upFileData = res.data;     }).then(function (res) {      var params = {       photos_url: that.upFileData,       photo_des: ''      };//      console.log(params.photos_url,'photos_url')      that.$axios.post(that.$api.personalCenter.wallAdd,qs.stringify(params)).then(function (res) {       console.log(res.data);       that.$options.methods.imgList.bind(that)();      }).catch(function (err) {       console.log(err);       console.log("请求出错");      })     })    } else {     alert("文件格式不支持上传");    }}

登录后复制

相关推荐:

 PHP从页面上传图片到数据库的示例代码分享

以上就是vue上传图片到数据库并显示到页面的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2780861.html

(0)
上一篇 2025年3月8日 16:09:44
下一篇 2025年2月18日 03:55:39

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JS实现密码弱中强显示

    本文主要和大家分享JS实现密码弱中强显示,主要以代码的方式和大家分享,希望能帮助到大家。 nbsp;html>                 onload = function () { var tds = document.get…

    编程技术 2025年3月8日
    200
  • JS超链接实现动态显示图片

    本文主要和大家分享JS超链接实现动态显示图片,主要以代码的形式和大家分享,希望能帮助到大家。 nbsp;html>         onload = function () { var al = document.getElement…

    编程技术 2025年3月8日
    200
  • 观察者模式改变页面金额数的

    这次给大家带来观察者模式改变页面金额数的,观察者模式改变页面金额数的的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了JS设计模式之观察者模式实现实时改变页面中金额数的方法。分享给大家供大家参考,具体如下: 观察者设计模式概…

    编程技术 2025年3月8日
    200
  • webpack字体图标无法显示怎么解决

    这次给大家带来webpack字体图标无法显示怎么解决,解决webpack字体图标无法显示的注意事项有哪些,下面就是实战案例,一起来看一下。 问题:在项目开发时使用字体图标,报错如下: 所有的字体图标都不能正常显示了,报错提示不能解码字体。 …

    2025年3月8日
    200
  • php数据库比较工具分享

    本文主要和大家分享php数据库比较工具,版本迭代需要对比不同版本的数据库,为低版本的数据库编写升库脚本。使用php编写数据库比较工具。没有用过php耗时一天。  功能:比较两个不同版本的数据库src和dst, 生成sql文件 将src升级为…

    编程技术 2025年3月8日
    200
  • js实现分页显示的代码

    本文主要和大家分享js实现分页显示的代码,希望能帮助到大家。 1.html页面中代码如下          登录后复制 2.HTML中js代码引用 登录后复制 $(function() {// 初始化信息paginate.use(1, 5)…

    2025年3月8日
    200
  • 常用的js页面跳转代码

    一般来说页面的跳转可以通过a标签来进行,但是在某些情况下页面只是写了button或者其他的标签,这时我们就需要通过其他方式来实现页面的跳转。本文主要和大家分享常用的js页面跳转代码,希望能帮助到大家。 解决方案:     方式一:Locat…

    编程技术 2025年3月8日
    200
  • vue-router进行build时不显示路由页面怎么处理

    这次给大家带来vue-router进行build时不显示路由页面怎么处理,处理vue-router进行build时不显示路由页面的注意事项有哪些,下面就是实战案例,一起来看一下。 使用vue cli创建一个webpack工程 加入vue-r…

    编程技术 2025年3月8日
    200
  • Vue用下表修改数组时页面不渲染如何处理

    这次给大家带来Vue用下表修改数组时页面不渲染如何处理,解决Vue用下表修改数组时页面不渲染的注意事项有哪些,下面就是实战案例,一起来看一下。 需要注意的是,Vue之所以能够监听Model状态的变化,是因为JavaScript语言本身提供了…

    2025年3月8日
    200
  • Vue修改数组时页面不渲染如何处理

    这次给大家带来Vue修改数组时页面不渲染如何处理,处理Vue修改数组时页面不渲染的注意事项有哪些,下面就是实战案例,一起来看一下。 需要注意的是,Vue之所以能够监听Model状态的变化,是因为JavaScript语言本身提供了Proxy或…

    2025年3月8日
    200

发表回复

登录后才能评论