IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 在Vue中COS高级上传与antDesign的结合使用 -> 正文阅读

[JavaScript知识库]在Vue中COS高级上传与antDesign的结合使用

首先, 先在腾讯云上设置好规则, 不然会报CROS跨域或者其他错误
在这里插入图片描述
主要是COS的高级上传

<template>
    <a-upload
      name="file"
      :multiple="false"
      :customRequest="actionFunc"
      @change="fileChange"
    >
      <a-button> <a-icon type="upload" />上传文件</a-button>
    </a-upload>
</template>
<srcipt>
const COS = require('cos-js-sdk-v5');
const cosf = new COS({
  SecretId: '...', // id和key自行查看
  SecretKey: '...',
});
export default {
	methods:{
		// isfromFunc用来判断是来自组件上传按钮点击还是actionFunc的调用, fileChange早于fileChange调用
		fileChange(e, isfromFunc){
			// 注意, 当isfromFunc为true时, 注意点击组件的上传按钮时获取到的数据结构是不同的
			if(isfromFunc){
				 if(e.status === "done"){
				 	  // 修改组件的状态
			          return this.file.status = "done";
		         } else if(e.status === "error"){
				 	  // 修改组件的状态
			          return this.file.status = "error";
		         }
			}else{
				this.file = e.file;
			}
		},
		actionFunc(e){
			let that = this;
			 cosf.uploadFile({
		        Bucket: '存储桶', /* 填入您自己的存储桶,必须字段 */
		        Region: '存储桶所在地',  /* 存储桶所在地域,例如ap-beijing,必须字段 */
		        Key: e.file.name, /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段 */
		        Body: e.file,               /* 必须 */
		        SliceSize: 1024 * 1024 * 5,     /* 触发分块上传的阈值,超过5MB使用分块上传,非必须 */
		        // onTaskReady: function(taskId) {                   /* 非必须 */
		        //   console.log('onTaskReady ---->',taskId);
		        // },
		        // onProgress: function (progressData) {           /* 非必须 */
		        //   console.log('onProgress ---->',JSON.stringify(progressData));
		        // },
		        onFileFinish: function (err, data, options) {   /* 非必须 */
		          //文件上传成功后会进入onFileFinish
		          //getObjectUrl是为了获取刚刚存储的文件URL
		          cosf.getObjectUrl({
		            Bucket: '存储桶', /* 填入您自己的存储桶,必须字段 */
		            Region: '存储桶所在地',  /* 存储桶所在地域,例如ap-beijing,必须字段 */
		            Key: e.file.name,  /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段 */
		            Sign: false
		          }, function (err, data) {
		          	// es为当次文件的构造数据
		            let es = {
		              lastModified: e.file.lastModified,
		              lastModifiedDate: e.file.lastModifiedDate,
		              name: e.file.name,
		              originFileObj: e.file,
		              size: e.file.size,
		              status: data.Url ? "done" : "error", // 设置当前组件的文件上传状态
		              type:  e.file.type,
		              uid: e.file.uid,
		            }
		            that.fileChange(es,true)
		          })
		        },
		      }, function(err, data) {
		        // console.log('function ---->',err || data);
		      });
		}
	}
}
<srcipt>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:27:56  更:2022-03-22 20:28:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:45:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码