vue项目中上传图片至又拍云使用的是官方的FORM API方法,官方链接:https://help.upyun.com/knowledge-base/form_api/#old-authorization。
图片的上传过程中主要用到的参数为file,policy、signature,file这里直接使用的element-ui上传组件。

policy

policy主要参数,参考官方链接:https://help.upyun.com/knowledge-base/form_api/#upload_args。从官方链接中可以看出,policy中主要必填参数为(bucket:文件上传到的服务,即又拍云的服务名称;save-key:文件保存路径,可用占位符;expiration:请求的过期时间,UNIX UTC 时间戳,单位秒。建议设为 30 分钟),其他参数可看情况添加。最终结果需进行转json和Base64处理(Base64编码:window.btoa(str),解码:window.atob(str))。

signature

signature为policy与文件密钥使用&拼接而成,文件密钥可在又拍云-云存储-存储管理-文件密钥处获得,拼接后字符串计算md5为最终结果,这里使用的是CryptoJS的MD5方法。

import CryptoJS from 'crypto-js'const upyunSignature=()=>{let policy=window.btoa(JSON.stringify({'bucket': '服务名称','content-length-range': '0,10240000',//文件大小限制'save-key': '/{filemd5}{.suffix}',//文件路径'expiration': Math.floor(new Date().getTime() / 1000) + 86400//过期时间}))let signature=CryptoJS.MD5(policy+'&文件密钥').toString()//此处文件密钥前要添加&符号,容易出错return {policy:policy,signature:signature}
}export {upyunSignature}

页面引用:

<el-uploadref="upload":show-file-list="false"accept="image/png, image/jpeg":max-size="2048"class="avatar-uploader":on-success="handleSuccess":on-error="handleFormatError":data="upyunSignature"action="//v0.api.upyun.com/服务名称"><img v-if="imageUrl" :src="data:imageUrl" class="avatar"><i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
//js部分
handleSuccess (res) {this.imageUrl = this.imageUrl+res.urlconsole.log(this.imageUrl);
},
handleFormatError (file) {this.$Notice.warning({title: 'The file format is incorrect',desc: 'File format of ' + file.name + ' is incorrect, please select jpg or png.'})
},

vue上传图片至又拍云相关推荐

  1. vue上传图片到又拍云

    uploadImg(obj) { const that = this GetFormParams({ uploadType: 'DDemand' }).then(res => { this.fi ...

  2. vue 上传图片到腾讯云对象存储

    需求:上传图片到腾讯云对象存储,返回图片链接地址. 大概流程: 腾讯云对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用户可通过网络随时存储 ...

  3. 又拍云+PicGo搭建图床教程

    有关图床系列的博文我也写了好多,大多都是使用"白嫖"的云空间作为图片的存储地. 有关搭建图床系列的文章:https://blog.csdn.net/qq_41684621/cate ...

  4. 上传文件到云服务器存储路径,配置WordPress上传图片/附件文件同步到UPYUN又拍云存储...

    这几天笔者一直在折腾UPYUN又拍云存储相关的问题且整理到不少的基础文章,昨天已经创建且绑定域名,并且又拍云还支持一键快速配置SSL证书.对于一般的站长而言,我们希望网站速度打开快一些,这样用户体验会 ...

  5. PHP上传图片文件到又拍云,如何把文件上传到又拍云

    PHP上传图片文件到又拍云,如何把文件上传到又拍云: https://www.tpxhm.com/adetail/593.html

  6. 微信小程序前端使用又拍云存储上传图片

    目录 一.前端引用 二.优化调整 一.前端引用 参考链接:又拍云小程序sdk. 引用sdk.js文件到目录中,这里代码不需要改动. function Upyun (options) {this.buc ...

  7. 前端js使用又拍云绕过服务器直接上传图片到云端

    一般我们平时做图片视频上传的时候一直是上传到本地服务端下,如果我们想把文件传到云端类似又拍云或者七牛云这样的云端存储下,虽然可以先将文件传给服务器,再由服务器传给云端,但是如果需要上传的文件比较多的话 ...

  8. JAVA接入又拍云(upYun)上传图片和处理参数

    新搭项目已经使用里fastDFS,昨天老大突然要求使用upYun做图片服务器.看了一下相关文档,发现又拍云自带CDN属性,索性直接把fastDFS作为备份使用.使用过程中发现又拍云文档并不是很友好,网 ...

  9. Hexo+腾讯CVM+又拍云+github+gitee+coding

    自从考完高项后,博客的一堆笔记就这样放着了(信息系统项目管理师),但我想,博客还是想继续长期用用的,于是计划: 公司内网的学习笔记的转录 Vue学习内容 Linux学习内容 历史文章 目前博客是部署到 ...

最新文章

  1. MyCAT-1.4-RC性能测试(初步施工)
  2. 在集群的操作机上执行命令为什么会出现权限被拒绝_如何使用 TDengine 2.0 最新开源的集群功能?
  3. 笔记-项目采购管理-采购管理过程(具体过程)
  4. 【WebRTC---入门篇】(八)WebRTC核心之RTP Medio 媒体控制与数据统计
  5. 庚顿数据:实时数据库赋能工业互联网
  6. 试图登录,但是网络登陆服务没有启动成功
  7. 硅谷独角兽公司的监控系统长啥样?
  8. 要求在ASP.NET Core 2.2中确认电子邮件——第1部分
  9. python中类型转换的规则_Python 类型转换指南
  10. C++多线程map读写加锁
  11. iOS WebView生成长截图的第三种解决方案
  12. PCB测试流程分析介绍
  13. linux查看日志相关命令
  14. 《雍正皇帝·九王夺嫡》生态文化专有词泰译研究(第一章)
  15. 图片,视频,文件等非结构化数据存储建议
  16. 致远oa系统unix 服务器,致远oa如何设置服务器地址
  17. dubbo admin安装中易踩坑点及解决方法
  18. ios android 联机游戏平台,iOS 和安卓游戏终于互通了
  19. 已解决(MongoDB安装报错)Service ‘MongoDB Server (MongoDB)’ (MongoDB) failed tostart. Verify that you have su
  20. 2022-2027年中国中药大健康行业市场调研及未来发展趋势预测报告

热门文章

  1. 2010年下半年书单
  2. 各地城市治安防控体系建设走到了哪一步?
  3. ts快捷键 vscode_vscode中如何使用ts
  4. 以评促建,推动高效惠民数字政府建设——2018数字政府建设论坛暨第十七届中国政府网站绩效评估结果发布会在京召开...
  5. # 2021-01-15 #「开源视频管理系统」- 搭建属于自己的视频站点
  6. 从QuickTime到Beats:回顾苹果历史上的音乐传奇
  7. mysql安装2基本SQL命令3数据类型
  8. 传世单机 GM命令 查看所有GM命令 自定义游戏命令
  9. vc.net matlab,基于Excel、Matlab和VC net实现立体天线方向图的重构和电平估算_
  10. linux下ic卡驱动程序,multifunction device驱动下载