ElementUI的Upload上传,配合七牛云储存图片
七牛云服务器的储存区域
| 存储区域 | 地域简称 | 上传域名 | 
|---|---|---|
| 华东 | z0 | 服务器端上传:http(s)://up.qiniup.com
 | 
| 华东 | z0 | 客户端上传: http(s)://upload.qiniup.com
 | 
| 华北 | z1 | 服务器端上传:http(s)://up-z1.qiniup.com
 | 
| 华北 | z1 | 客户端上传: http(s)://upload-z1.qiniup.com
 | 
| 华南 | z2 | 服务器端上传:http(s)://up-z2.qiniup.com
 | 
| 华南 | z2 | 客户端上传: http(s)://upload-z2.qiniup.com
 | 
| 北美 | na0 | 服务器端上传:http(s)://up-na0.qiniup.com
 | 
| 北美 | na0 | 客户端上传: http(s)://upload-na0.qiniup.com
 | 
| 东南亚 | as0 | 服务器端上传:http(s)://up-as0.qiniup.com
 | 
| 东南亚 | as0 | 客户端上传: http(s)://upload-as0.qiniup.com
 | 
<template>
  <div class="container">
    <div class="title"><h2>ElementUI的Upload上传图片到七牛云</h2></div>
    <el-upload
      class="upload-demo"
      drag
      :action="upload_qiniu_url"
      :show-file-list="false"
      :on-success="handleAvatarSuccess"
      :on-error="handleError"
      :before-upload="beforeAvatarUpload"
      :data="qiniuData">
      <img v-if="imageUrl" :src="imageUrl" class="avatar">
      <div v-else class="el-default">
        <i class="el-icon-upload"></i>
        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
      </div>
      <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,且不超过2MB</div>
    </el-upload>
  </div>
</template>
<script>
export default {
  data() {
    return {
      qiniuData: {
        key: "",
        token: ""
      },
      // 七牛云上传储存区域的上传域名(华东、华北、华南、北美、东南亚)
      upload_qiniu_url: "http://upload-z1.qiniup.com",
      // 七牛云返回储存图片的子域名
      upload_qiniu_addr: "http://abc.clouddn.com/",
      imageUrl: "",
      Global: {
        dataUrl: 'http://yoursite.com'
      }
    };
  },
  created() {
    this.getQiniuToken();
  },
  methods: {
    getQiniuToken: function() {
      const _this = this;
      this.$axios
        .post(this.Global.dataUrl + "/qiniu/uploadToken")
        .then(function(res) {
          console.log(res);
          if (res.data.success) {
            _this.qiniuData.token = res.data.result;
          } else {
            _this.$message({
              message: res.data.info,
              duration: 2000,
              type: "warning"
            });
          }
        });
    },
    beforeAvatarUpload: function(file) {
      this.qiniuData.key = file.name;
      const isJPG = file.type === "image/jpeg";
      const isPNG = file.type === "image/png";
      const isLt2M = file.size / 1024 / 1024 < 2;
      if (!isJPG && !isPNG) {
        this.$message.error("图片只能是 JPG/PNG 格式!");
        return false;
      }
      if (!isLt2M) {
        this.$message.error("图片大小不能超过 2MB!");
        return false;
      }
    },
    handleAvatarSuccess: function(res, file) {
      this.imageUrl = this.upload_qiniu_addr + res.key;
      console.log(this.imageUrl);
    },
    handleError: function(res) {
      this.$message({
        message: "上传失败",
        duration: 2000,
        type: "warning"
      });
    }
  }
};
</script>
<style scode>
.title{
  margin:90px 0 40px 0;
}
.el-default .el-icon-upload {
  margin-top: 125px;
}
.el-upload-dragger {
  width: 350px;
  height: 350px;
}
.avatar {
  width: 350px;
  height: 350px;
  display: block;
}
</style>
来源:https://segmentfault.com/a/1190000016309473
ElementUI的Upload上传,配合七牛云储存图片的更多相关文章
- 阿里云CentOS自动备份MySql 8.0并上传至七牛云
		
本文主要介绍一下阿里云CentOS7下如何对MySql 8.0数据库进行自动备份,并使用.NET Core 将备份文件上传至七牛云存储上,并对整个过程所踩的坑加以记录. 环境.工具.准备工作 服务器: ...
 - 利用cropper插件裁剪本地图片,然后将裁剪过后的base64图片上传至七牛云空间
		
现在做的项目需要做一些图片处理,由于时间赶急,之前我便没有处理图片,直接将图片放在input[type=file]里面,以文件的形式提交给后台,这样做简直就是最低级的做法,之后各种问题便出来了,人物头 ...
 - .Net Core实现将文件上传到七牛云存储
		
功能:将图片上传到七牛云存储 准备工作 注册七牛账号,提交实名认证(基本上1天内内审核通过) 登录七牛后台->对象存储->新建空间 (基本概念:https://developer.qini ...
 - laravel7文件上传至七牛云并保存在本地图片
		
HTML代码: <form class="layui-form" action="{{route('doctor.store')}}" method=&q ...
 - 微信小程序文件上传至七牛云(laravel7)
		
1 wxml: <view> <form bindsubmit="dopost"> <view> <label>真实姓名</l ...
 - vue图片上传到七牛云
		
代码: <template> <div class="upload-info"> <div> <el-upload class=" ...
 - Element-UI中Upload上传文件前端缓存处理
		
Element-UI对于文件上传组件的功能点着重于文件传递到后台处理,所以要求action为必填属性.但是如果需要读取本地文件并在前端直接处理,文件就没有必要传递到后台,比如在本地打开一个JSON文件 ...
 - Tp3.1 文件上传到七牛云
		
TP3.1 中不支持Composer 就无法用composer 安装 下载历史的SDK https://github.com/qiniu/php-sdk/releases/tag/v7.0.8 下载下 ...
 - tp5  webupload文件上传至七牛云
		
1:composer安装: composer require qiniu/php-sdk 2: 配置使用: 在tp5.1的配置文件app.php中配置七牛云的参数 'qiniu' => [ 'a ...
 
随机推荐
- hdu  1390
			
#include<stdio.h> int main() { int t,n,a[1001]; scanf("%d",&t); while(t--) { sca ...
 - Spring-IOC源码解读1-整体设计
			
1. SpringIOC提供了一个基本的javabean容器,通过IOC模式管理依赖关系,并通过依赖注入和AOP增强了为javabean这样的pojo对象赋予事务管理,生命周期管理等基本功能.2. S ...
 - Linux 如何实现 VLAN
			
LAN 表示 Local Area Network,本地局域网,通常使用 Hub 和 Switch 来连接 LAN 中的计算机.一般来说,两台计算机连入同一个 Hub 或者 Switch 时,它们就在 ...
 - 【POJ1226】Substrings(后缀数组,二分)
			
题意: n<=10,len<=100 思路: 只有一个字符串的时候特判一下 #include<cstdio> #include<cstring> #include& ...
 - net3:Button的CommandName使用,AdRotator,BulletedList的使用
			
原文发布时间为:2008-07-29 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...
 - .net面试题汇总一第一篇
			
1. 简述 private. protected. public. internal 修饰符的访问权限. private:私有成员,只能在类内部中才可以访问. protected:受保护的,只能在该类 ...
 - 最短路中部分点只能从中任意选取K个问题
			
题意:给N个点,还有另外m个点(其中只能选K个),求最短路. 思路:在SPFA的基础上,用一个数组来统计,在某点入队时(要拓展其他点了),若该点是m个点中的,则count[i]=原来的+1:若不是,则 ...
 - 关于xshell无法连接到centos的问题
			
1.xshell无法连接到centos:拒绝连接(无线网) 在xshell ping centos出现: 解决方法: 1. 2.重启下网卡: [root@localhost ~]# /etc/init ...
 - FastDFS介绍和搭建(转载)
			
FastDFS介绍和配置过程--http://blog.51cto.com/ylw6006/948729 FastDFS的五篇文章--http://www.cnblogs.com/smartycity ...
 - 关于傅里叶变换NTT(FNT)的周边
			
NTT:快速数论变化,对于FFT精度减少的情况,NTT可以避免但是会慢一点,毕竟是数论有Mod,和快速米 引用:http://blog.csdn.net/zz_1215/article/details ...