前端上传oss阿里云
首先通过接口拿到后台给的上传权限,等需要的参数:
addfile(file) {
let filename = ''
if (this.breadcrumbList.length > 0) {
this.breadcrumbList.forEach(res => {
filename = '/' res.folder_name
})
}
// console.log(filename)
this.fileList = [file]
const formData = new FormData()
// 注意formData里append添加的键的大小写
const url = 'flyPic' filename '/' file.name
formData.append('key', 'flyPic' filename '/' file.name) // 存储在oss的文件路径
formData.append('OSSAccessKeyId', this.aliyunOssToken.access_key) // accessKeyId
formData.append('policy', this.aliyunOssToken.policy) // policy
formData.append('Signature', this.aliyunOssToken.signature) // 签名
// 如果是base64文件,那么直接把base64字符串转成blob对象进行上传就可以了
formData.append('file', this.fileList[0])
formData.append('success_action_status', 200) // 成功后返回的操作码
this.onImportEmit(formData, file.name, url)
},
然后做一个最简单的axios请求:
onImportEmit(formData, filename, url) {
axios({
url: this.aliyunOssToken.host,//这里的地址就是oss的地址
method: 'POST',
data: formData,
withCredentials: false,
headers: {
'Content-Type': 'multipart/form-data'
}
}).then(res => {
// console.log(res)
if (res.status === 200) {
// 成功回调
console.log('上传成功!')
} else {
// 失败回调
console.log('上传失败!')
}
}).catch((res) => {
// 失败回调
console.log('上传失败!')
}).finally(() => {
// 成功失败都会有的回调
console.log('上传!')
})
}
这里提示一点,上传成功之后oss不会返回对应的地址只会返回一个成功或失败的状态,具体看阿里云官网,所以后面添加到数据的地址需要 onImportEmit(formData, filename, url)方法里面的url去做处理。。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgikkji
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13