1.获取token值

后台有接口调用直接返回token值

  1. //请求后台拿七牛云token
  2. async getQiniuToken() { //token
  3. let uploadtoken = await
  4. this.Fetch("/osg/resource/uploadtoken/image", {
  5. method: "get",
  6. });
  7. console.log(uploadtoken);
  8. //赋值保存在本地
  9. this.QiniuData.token= uploadtoken.data.token
  10. },

2.贴上页面代码

  1. <template>
  2. <div class="upload-info">
  3. <div>
  4. <el-upload
  5. class="upload-pic"
  6. :action="domain"
  7. :data="QiniuData"
  8. :on-remove="handleRemove"
  9. :on-error="uploadError"
  10. :on-success="uploadSuccess"
  11. :before-remove="beforeRemove"
  12. :before-upload="beforeAvatarUpload"
  13. :limit="3"
  14. multiple
  15. :on-exceed="handleExceed"
  16. :file-list="fileList"
  17. >
  18. <el-button size="small" type="primary">选择图片</el-button>
  19. </el-upload>
  20. <div>
  21. <img class="pic-box" :src="uploadPicUrl" v-if="uploadPicUrl">
  22. </div>
  23. </div>
  24. <div>
  25. <el-button type="primary" :loading="loading" @click="handleSubmit">提交</el-button>
  26. <el-button type="info" plain >取消</el-button>
  27. </div>
  28. </div>
  29. </template>
  30.  
  31. <script>
  32. export default {
  33. data() {
  34. return {
  35. loading: false,
  36. QiniuData: {
  37. key: "", //图片名字处理
  38. token: "" ,//七牛云token
  39. data:{}
  40. },
  41. domain: "http://upload.qiniup.com", // 七牛云的上传地址(华东区)
  42. qiniuaddr: "http://image.********.cn", // 七牛云的图片外链地址 七牛云空间的外链地址
  43. uploadPicUrl: "", //提交到后台图片地址
  44. fileList: []
  45. };
  46. },
  47. mounted() {
  48. this.getQiniuToken();
  49. },
  50. methods: {
  51. handleRemove(file, fileList) {
  52. this.uploadPicUrl = "";
  53. },
  54. handleExceed(files, fileList) {
  55. this.$message.warning(
  56. `当前限制选择 3 张图片,如需更换,请删除上一张图片在重新选择!`
  57. );
  58. },
  59. beforeAvatarUpload(file) { //图片上传之前的方法
  60. // const isPNG = file.type === "image/png";
  61. // const isJPEG = file.type === "image/jpeg";
  62. // const isJPG = file.type === "image/jpg";
  63. // const isLt2M = file.size / 1024 / 1024 < 2;
  64.  
  65. // if (!isPNG && !isJPEG && !isJPG) {
  66. // this.$message.error("上传头像图片只能是 jpg、png、jpeg 格式!");
  67. // return false;
  68. // }
  69. // if (!isLt2M) {
  70. // this.$message.error("上传头像图片大小不能超过 2MB!");
  71. // return false;
  72. // }
  73. this.QiniuData.data = file;
  74. this.QiniuData.key = `${file.name}`;
  75. console.log(this.QiniuData.key)
  76. },
  77. uploadSuccess(response, file, fileList) { //图片上传成功的方法
  78. console.log(fileList);
  79. console.log(response);
  80. console.log(file);
  81. this.uploadPicUrl = `${this.qiniuaddr}/${response.key}`;
  82. },
  83. uploadError(err, file, fileList) { //图片上传失败时调用
  84. this.$message({
  85. message: "上传出错,请重试!",
  86. type: "error",
  87. center: true
  88. });
  89. },
  90. beforeRemove(file, fileList) {
  91. // return this.$confirm(`确定移除 ${ file.name }?`);
  92. },
  93. //提交数据到后台
  94. handleSubmit() {
  95.  
  96. },
  97. //请求后台拿七牛云token
  98. async getQiniuToken() { //token
  99. let uploadtoken = await this.Fetch("/osg/resource/uploadtoken/image", {
  100. method: "get",
  101. });
  102. console.log(uploadtoken);
  103. this.QiniuData.token= uploadtoken.data.token
  104. },
  105. }
  106. };
  107. </script>

3.起初也是毫无头绪,看文档,看博客,如有雷同,纯属借鉴!

vue项目中使用element ui上传图片到七牛的更多相关文章

  1. 在Vue项目中使用Element UI:按需引入和完整引入

    下面操作在main.js文件中进行 完整引入: import Element from 'element-ui'; //样式文件,需单独引入 import 'element-ui/lib/theme- ...

  2. php项目中使用element.ui和vue

    1.plugins中添加axios,element-ui 2.全局文件下引入 <script src="/static/plugins/vue@2.5.13/vue.js"& ...

  3. 如何在Vue项目中使用Element组件

    [前提] 1.安装webpack    cnpm install webpack -g 2.安装vue/vue-cli    cnpm install vue vue-cli -g 3.初始化vue  ...

  4. vue项目中使用element的dialog中引入ztree却不能初始化解决办法

    一开始我在 里边写的,发现获取不到,那么采用dialog自带的回调函数,窗口打开后opend进行处理, 结果:

  5. vue入坑教程(二)在vue项目中如何导入element以及sass

    在项目中导入element以及sass.stylus等方便开发的工具以及UI框架 (1)如何在vue项目中导入elementUI框架 elementUI是饿了么团队开发出来基于vue的前端UI框架,其 ...

  6. 在vue项目中使用canvas-nest.js,报parameter 1 is not of type 'Element'

    canvas-nest.js是一款轻量的网页特效,如图: github地址:https://github.com/hustcc/canvas-nest.js 在普通的html项目中,只要将<sc ...

  7. vue 项目中实用的小技巧

    # 在Vue 项目中引入Bootstrap 有时在vue项目中会根据需求引入Bootstrap,而Bootstrap又是依赖于jQuery的,在使用npm按照时,可能会出现一系列的错误 1.安装jQu ...

  8. Vue项目中如何使用Element-UI以及如何使用sass

    Vue项目中如何使用Element-UI以及如何使用sass 当我们在开发Vue项目的时候通常会选择Element-UI作为我们的UI框架,其官方中文文档地址是http://element.eleme ...

  9. Vue项目的创建和UI资源

    Vue项目创建打包与UI资源 1.Vue项目创建 1.1 vue-cli脚手架 vue-cli是一个基于vue的构建工具,用于搭建vue项目的环境,有着兼容,方便,快速的优点,能够完全遵循前后端分离的 ...

随机推荐

  1. 如何在windows10家庭版上搭建docker

    如何在windows10家庭版上搭建docker 建议先跳到最后一条,看完之后再决定是否安装. 0X00搭建原因 首先搭docker的想法是我在复现漏洞时候,发现大佬们的复现环境都是基于docker的 ...

  2. 《C/C++实现Console下的加载进度条模拟[美观版]》

    前言   有时候我们会遇到在CMD或DOS控制台上出现的加载进度条,虽然不是如网页和软件写的美观.但确确实实也有着自己的特色.而且,一个好看的加载进度条也能增加用户使用控制台程序的体验!所以,拿来研究 ...

  3. JAVA ReentrantLock的使用

    源码如下 对比synchronized,synchronized使用时会显示的指定一个对象(方法为调用对象,代码块会需要对象作为参数),来获取一个对象的独占锁 而ReentrantLock可能就是使用 ...

  4. ubuntu下怎么配置/查看串口-minicom工具

    一.安装minicom工具: 可直接使用命令sudo apt-get install minicom来完成安装 上面的截图因为检测到我已经安装过了. 二.通过minicom工具配置串口: 1.启动mi ...

  5. React之props、state和render函数的关系

    1.当组件中的state或者props发生改变的的时候,render函数就会被重新执行 2.当父组件的render函数被运行时,它的子组件的render都将被重新运行一次 3.子组件作为父组件里的一个 ...

  6. apereo cas 小记01--服务器搭建01

    ---恢复内容开始--- github repository:  apereo/cas 一,获取项目 链接:https://github.com/apereo/cas-overlay-template ...

  7. Codeforces 1301B Motarack's Birthday(二分)

    题目链接:http://codeforces.com/problemset/problem/1301/B 思路: (1)都是-1的情况 (2)只有一个除-1之外的数 (3)至少有两个除-1之外的不同的 ...

  8. C#实现的Check Password和锁定输错密码锁定账户

    C#实现的Check Password,并根据输错密码的次数分情况锁定账户:如果输入错误3次,登录账户锁定5分钟并提示X点X分后重试登录.如果5分钟后再次输入,累计输入错误密码累计达到5次.则账户会被 ...

  9. HTML块级、行级元素,特殊字符,嵌套规则

    如果介绍HTML网页基本标签的嵌套规则,首先要说的就是元素的分类.元素可以划分为块级元素和行级元素,块级元素是什么?它可以独占一行,可以设置宽高度,默认是100%:行级元素与之相反,它的内容决定它的宽 ...

  10. opencv —— threshold、adaptiveThreshold 固定阈值 & 自适应阈值 进行图像二值化处理

    阈值化 在对图像进行处理操作的过程中,我们常常需要对图像中的像素做出取舍与决策,直接剔除一些低于或高于一定值的像素. 阈值分割可以视为最简单的图像分割方法.比如基于图像中物体与背景之间的灰度差异,可以 ...