1.这部分是前端的

主要修改七牛云的外链 以及 domain的值

//1.html代码
<div class="upload"><el-uploadclass="avatar-uploader":action= domain:http-request = upqiniu:show-file-list="false":before-upload="beforeUpload"><img v-if="imageUrl" :src="data:imageUrl" class="avatar"><i v-else class="el-icon-plus avatar-uploader-icon"></i></el-upload>
</div>
//2.js代码imageUrl: '',token: {},// 七牛云的上传地址,根据本身所在地区选择,我这里是华南区domain: 'https://up-z2.qiniup.com',// 这是七牛云空间的外链默认域名qiniuaddr: 'rb1db201j.hn-bkt.clouddn.com'upqiniu (req) {console.log(req)const config = {headers: {'Content-Type': 'multipart/form-data'}}let filetype = ''if (req.file.type === 'image/png') {filetype = 'png'} else {filetype = 'jpg'}// 重命名要上传的文件const keyname = 'lytton' + new Date() + Math.floor(Math.random() * 100) + '.' +                             filetype// 从后端获取上传凭证tokenaxios.get('http://127.0.0.1:3000/upload').then(res => {// console.log(res)const formdata = new FormData()formdata.append('file', req.file)formdata.append('token', res.data.upToken)formdata.append('key', keyname)// 获取到凭证以后再将文件上传到七牛云空间axios.post(this.domain, formdata, config).then(res => {this.imageUrl = 'http://' + this.qiniuaddr + '/' + res.data.keyconsole.log(this.imageUrl)})})},// 验证文件合法性beforeUpload (file) {const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'const isLt2M = file.size / 1024 / 1024 < 2if (!isJPG) {this.$message.error('上传头像图片只能是 JPG 格式!')}if (!isLt2M) {this.$message.error('上传头像图片大小不能超过 2MB!')}return isJPG && isLt2M}
//3.css代码.upload {width: 600px;margin: 0 auto;
}
.avatar-uploader .el-upload {border: 5px dashed #ca1717 !important;border-radius: 6px;cursor: pointer;position: relative;overflow: hidden;
}
.avatar-uploader .el-upload:hover {border-color: #409EFF;
}
.avatar-uploader-icon {font-size: 28px;color: #8c939d;width: 178px;height: 178px;line-height: 178px;text-align: center;
}
.avatar {width: 178px;height: 178px;display: block;
}

2.后台建一个qiniu.js

开始记得 npm 一个七牛云  具体代码不太记得了(可以手动百度一下)

let qiniu = require('qiniu'),
let express = require('express');let ak = '这里是你们的ak'
let sk = '你们的sk'const mac = new qiniu.auth.digest.Mac(ak, sk)
const options = {scope: 'uuto',         //对象存储空间名字expires: 7200
}
const putPolicy = new qiniu.rs.PutPolicy(options)
const uploadToken = putPolicy.uploadToken(mac)module.exports = {uploadToken
}

开一个接口给前端请求

const qnconfig = require('../router/qiniu.js')
var express = require('express');
var router = express.Router();router.get('/upload', (req, res, next) => {const token = qnconfig.uploadTokenconsole.log(token);res.send({status: 1,message: '上传凭证获取成功',upToken: token,})
})
module.exports = router;

nodejs+vue结合七牛云实现图片上传相关推荐

  1. springboot+vue+element+七牛云+实现图片上传功能

    注册七牛云 链接地址: https://www.qiniu.com/products/kodo,免费有10G空间与免费一个月的域名地址注册后,开启对象存储,创建空间选择地区, 上传方式: 1:前端现将 ...

  2. SpringMvc+饿了么UI组件+七牛云做图片上传

    前言 我之前也有用过SpringBoot+OSS做过云存储,可以去看我的文章https://blog.csdn.net/Curtisjia/article/details/109339980,当时我做 ...

  3. 微服务电商实战(十一)搭建vue项目对接注册登陆接口,解决跨域问题,使用七牛云实现头像上传

    一.简介 node.js版本:v12.16.3 node.js下载 vue官网教程 iview介绍 上传头像接口,图片存储在七牛云中,注册并实名认证之后可以免费使用 以下会描述使用vue搭建项目框架的 ...

  4. SpringBoot(24) 整合七牛云实现文件上传

    一.前言 本文将基于springboot2.1.8.RELEASE整合七牛云实现文件上传 本文参考 https://www.keppel.fun/articles/2019/02/27/1551262 ...

  5. (七牛云系列)七牛云指定文件上传路径(各种语言通用)

    目录 解决方法 一个实例 解决方法 方法很简单 假如你有一个文件名为xxx.jpg 同时你在七牛云中有一个文件夹为cs 则你在上传文件时,需要将文件名修改为cs/xxx.jpg,七牛云会自动识别,并放 ...

  6. 七牛云配置 koa 上传文件到七牛云

    一.七牛云配置 七牛官网 1.创建七牛存储空间 2.空间添加备案的域名 (若是测试空间可不需要配置) 3.解析CNAME 添加域名后会有CNAME(别名记录),需要将它解析到你的备案域名下 链接-CN ...

  7. 一步步带你实现一个简单的express服务器,能让vue通过axios请求将图片上传到阿里云OSS

    文章目录 前言 一.申请阿里云OSS 二.Vue前端读取图片 三.将图片base64转成二进制文件 四.搭建express服务器 五.通过axios给服务器发送请求 六.发送图片并上传阿里云 我们首先 ...

  8. vue项目中的h5图片上传(处理上传的时候图片被旋转的问题,并压缩图片大小)

    vue的图片上传 这个页面实现的主要是实现创建球队功能,里面包含队徽,球队类型,球队名称,所属地址 这里除了图片上传还有一个地址的三级联动功能,这里我把这个页面都贴上来了.这个项目中使用vux作为ui ...

  9. SSM项目/SpringBoot项目/SpringBoot+Vue前后端分离项目 图片上传并查看功能实现汇总

    SSM项目下的图片上传: 1.前端Js代码:用户点击"上传头像"按钮后,会执行uploadPhoto()的方法. <button type="button" ...

  10. Vue+SpringBoot+OSS+element实现图片上传服务器+图片展示墙

    1.技术选型: (1)Vue(前端) (2)Element(上传图片组件) (3)SpringBoot(后端) (4)Mybatis(数据库操作) (3)OSS(阿里云存储服务器) 2.实现效果概述: ...

最新文章

  1. 【软件工程】UML软件
  2. iOS之深入解析单例的实现和销毁的底层原理
  3. 使用Python快速获取公众号文章定制电子书(一)
  4. [EffectiveC++]item06:若不想使用编译器自动生成的函数,就该明确决绝
  5. c语言写报告抽象数据类型,C语言抽象数据类型ADT
  6. [leetcode] 472. 连接词
  7. C++ 常用代码大全
  8. mysql取出qq表情_mysql存储emoji表情报错处理,qq互联mysql存储昵称中带表情的数据时报错。...
  9. 正定矩阵,半正定矩阵,负定矩阵的通俗理解
  10. python图案堆积_Python数据可视化,我是如何做出泡泡堆积关联图
  11. 关于ZEMAX13的中文设置
  12. android判断图片是否模糊,Android 图片模糊 性能总结
  13. Python-Pandas基础
  14. 小学生数据分析《西游记》发现大BUG
  15. 中国城市轨道交通与设备行业布局策略规划及十四五建设展望报告2021-2027年版
  16. mysql 1556_mysqldump: Got error: 1556: You can't use locks with log tables.
  17. 《从零开始的 RPG 游戏制作教程》第五期:制作物品和技能
  18. 通过自定义的key进行加密解密
  19. 如何进行精准引流?教你定制精准引流方案!
  20. 手机号归属地数据导入及查询工具源代码(C++)

热门文章

  1. w10桌面计算机图标箭头去除,完美W10如何去除桌面图标快捷方式小箭头
  2. 怎样批量修改图片像素大小?
  3. 7、万国觉醒建筑白天黑夜效果(Shader Graph)
  4. android手机通过wifi控制数码管,淫技:android无屏操作之adb操控wifi
  5. tumblr_使用Google Analytics(分析)获取有关您的Tumblr博客的详细统计信息
  6. Riverbed:SDN向广域网扩展为企业带来哪些价值
  7. 左岸读书-语不惊人死不休(95)
  8. 反问疑问_反问、疑问还是设问?
  9. python eml解析_如何在python中读取eml文件?
  10. 看董事长陈睿发言谈B站变化,我与B站共成长