大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你好,我好像以前遇到过你的问题。以下是我独创的解决方案和方法。希望能帮到你。如有错误,请见谅!您使用的PDF查看软件(如ADOBEREADER)的编号必须为000/000。只要在那个地方输入你想要的数字,比如107,回车就可以了~,非常感谢你的耐心,如果有帮助请收下,祝你生活愉快!谢谢你
10多年的商城网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整商城建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“商城网站设计”,“商城网站推广”以来,每个客户项目都认真落实执行。
最近公司有新的需求,需要将文件上传到阿里云OSS,目前项目中的文件主要是存储到自己的服务器,这样很容易受服务器带宽、硬件的影响,加上服务器配置不高,应用服务很容易垮掉。之前也用过OSS,但是上传文件都是比较小的10MB以内的文件,采用的是生成数据流的方式。这种情况已经无法满足现在的应用场景,就又熟悉了一下SDK文档,主要的实现方式有:
1、 上传慢。先上传到应用服务器,再上传到OSS,网络传送多了一倍。如果数据直传到OSS,不走应用服务器,速度将大大提升,而且OSS是采用BGP带宽,能保证各地各运营商的速度。
2、 扩展性不好。如果后续用户多了,应用服务器会成为瓶颈。
3、 费用高。由于OSS上传流量是免费的。如果数据直传到OSS,不走应用服务器,那么将能省下几台应用服务器。
采用JavaScript客户端直接签名(参见 JavaScript客户端签名直传 )时,AccessKey ID和AcessKey Secret会暴露在前端页面,因此存在严重的安全隐患。因此,OSS提供了服务端签名后直传的方案。
流程如下图所示:
本示例中,Web端向服务端请求签名,然后直接上传,不会对服务端产生压力,而且安全可靠。但本示例中的服务端无法实时了解用户上传了多少文件,上传了什么文件。如果想实时了解用户上传了什么文件,可以采用 服务端签名直传并设置上传回调 。
OSS 可以通过阿里云 STS (Security Token Service) 进行临时授权访问。阿里云 STS 是为云计算用户提供临时访问令牌的Web服务。通过 STS,您可以为第三方应用或子用户(即用户身份由您自己管理的用户)颁发一个自定义时效和权限的访问凭证。
STS 安全令牌、角色管理和使用相关内容详情,请参考 RAM 角色管理 。调用 STS 服务接口 AssumeRole 来获取有效访问凭证即可。
前端调用,请根据自身情况进行调用,下面是vue的示例
我们在项目中最终采用的是STS临时授权方案。
STS的优势如下:
关于STS的介绍请查阅阿里云官方文档:
在这边不得不吐槽一下OSS的API,是真的很烂,基本找不到好的方法,都是基于百度才做出来的,当然,我使用的方法估计还有一些坑,只是能实现了我的功能。
STS临时授权访问OSS
vue直传OSS
el-upload组件结合上传阿里云OSS实现更优交互
Web直传OSS
OSS文件上传(页面直传)
请问STS和签名带Policy的差别
STS临时授权访问OSS
vue+element+sts临时授权上传大文件到阿里云OSS时踩过的坑。
Vue上传阿里云OSS(STS方式)
1.更换自己的网络
正所谓一个巴掌拍不响,有时候不是别人的问题,也有可能是自己网络的问题。有条件的话,如果使用的是电信宽带上传速度慢,那么可以换成联通宽带去上传,很可能上传速度就快了。
2.使用切换线路
通过切换线路,将线路切换到离服务器最近的地方,这样可能在访问速度和上传速度上都会便的非常的快。
3.将数据打包后再上传
上传速度慢有可能是文件太大了,可以先将文件打包压缩后上传。上传一个小的文件总比上传一个大的文件速度要快吧。上传好之后再解压便可。
4.将文件转发给空间商,让他们帮忙上传
如果打包后的文件上传依旧很慢,那么就先将压缩文件上传到国内空间上,然后把压缩文件的地址发给美国服务器商,让他们到美国服务器上去下载解压。