let OSS = require(ali-oss);let client = new OSS({region: 配置自己的,//云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,部署在服务端使用RAM子账号或STS,部署在客户端使用STS。accessKeyId: 配...
let OSS = require('ali-oss'); let client = new OSS({ region: '配置自己的', //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,部署在服务端使用RAM子账号或STS,部署在客户端使用STS。 accessKeyId: '配置自己的', accessKeySecret: '配置自己的',
bucket: '配置自己的' })
注:以上是配置OSS
文件上传:
const put = async (ObjName, fileUrl, progressFun) => { try { let result = await client.multipartUpload(`${ObjName}`, fileUrl, progressFun) return result
} catch (e) { console.log(e) }
}
注:ObjName 可以是自定义文件名例如(dells.txt)也可以 `${userId}/${nowDay}/${ObjName}` 例如(/userId/nowDay/dells.txt)这样做文件目录 上传成功链接是这样的http://oss官网/userId/nowDay/dells.txt
fileUrl 是文件file对象 或者 blob数据以及OSS buffer
progressFun 是获取上传文件进度(可要可不要)
暂停上传:
cancelApi() { return client.cancel() }
注:关闭上传窗口时 可以调用 (如果不暂停 关闭窗口后 会后台继续上传)
文件下载:
async function download(fileUrl, filename) { return await client.signatureUrl(fileUrl, { response: { 'content-disposition': `attachment;filename=${encodeURIComponent(filename)}` } }) }
注释:fileurl:需要下载的文件连接 filename:下载的文件名字 (其中用到转码)
沃梦达教程
本文标题为:vue+oss 纯前端文件上传
基础教程推荐
猜你喜欢
- cocos creator游戏实现loading加载页面,游戏启动加载动画 2022-10-29
- Ajax+smarty技术实现无刷新分页 2022-12-15
- JS滚动到顶部踩坑解决记录 2023-07-10
- 关于Ajax跨域问题及解决方案详析 2023-02-23
- HTML clearfix清除浮动讲解 2022-11-20
- 使用ajax跨域调用springboot框架的api传输文件 2023-02-23
- Ajax发送和接收请求 2022-12-15
- Javascript Bootstrap的网格系统,导航栏和轮播详解 2023-08-11
- uniapp开发微信小程序自定义顶部导航栏功能实例 2022-10-21
- 在实战中可能碰到的几种ajax请求方法详解 2023-02-01