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 纯前端文件上传
基础教程推荐
猜你喜欢
- 基于Vue制作组织架构树组件 2024-04-08
- 浅析canvas元素的html尺寸和css尺寸对元素视觉的影响 2024-04-26
- js禁止页面刷新与后退的方法 2024-01-08
- CSS3的几个标签速记(推荐) 2024-04-07
- 关于文字内容过长,导致文本内容超出html 标签宽度的解决方法之自动换行 2023-10-28
- this[] 指的是什么内容 讨论 2023-11-30
- JS前端广告拦截实现原理解析 2024-04-22
- Ajax实现动态加载数据 2023-02-01
- 浅谈Vue2和Vue3的数据响应 2023-10-08
- vue离线环境如何安装脚手架vue-cli 2025-01-19
