阿里云对象云存储OSS插件2.6.4 thinkcmf6.0-8.0-20231107


阿里云对象云存储OSS插件



OSS插件简介

        阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务。其数据设计持久性不低于99.9999999999%(12个9),服务可用性(或业务连续性)不低于99.995%。

OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。

您可以使用阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。数据存储到阿里云OSS以后,您可以选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)、归档存储(Archive)、冷归档存储(Cold Archive)作为不经常访问数据的存储方式。

此插件主要提供如下功能

  1. 文件存储 替换 提供阿里云OSS云存储选项

  2. 表单直传OSS  


OSS插件功能


  1. 文件存储 替换 提供阿里云OSS云存储选项   选择此选项后 原来的上传功能 上传后会自动把文件存到OSS

    用户在浏览器或App端上传文件到应用服务器,应用服务器再把文件上传到OSS。具体流程如下图所示。

    p140018.png


    此方法有三个缺点:

          上传慢:用户数据需先上传到应用服务器,之后再上传到OSS。网络传输时间比直传到OSS多一倍。如果用户数据不通过应用服务器中转,而是直传到OSS,速度将大大提升。而且OSS采用BGP带宽,能保证各地各运营商之间的传输速度。

           扩展性差:如果后续用户多了,应用服务器会成为瓶颈。

           费用高:需要准备多台应用服务器。由于OSS上传流量是免费的,如果数据直传到OSS,不通过应用服务器,那么将能省下几台应用服务器。

  2. 表单直传OSS  文件直接存到OSS

    用户通过表单上传一个文件直接到OSS,而且希望将上传的结果返回给应用服务器时,需要设置一个回调函数,将请求告知应用服务器。用户上传完文件后,不会直接得到返回结果,而是先通知应用服务器,处理记录后,再把结果转达给用户。

    p138517.png


      


OSS插件使用说明

  1. 安装插件  使用在线安装 或者 手动解压安装插件包   并且更新缓存

    20210607140136.png

  2. 设置 > 文件存储 > 选择阿里云OSS云存储 > 保存 > 更新缓存

    20210607112144.png

  3. 设置插件配置   设置完成后保存 并更新缓存YY截图20180707211924.png

  4. 设置阿里云OSS相关配置


    1. 设置公共读

      权限管理 > 读写权限 > 设置  > 公共读

    2. 设置跨域  权限管理 > 跨域设置 > 设置 >创建规则  规则如下

      p12308.png

    3. 设置分割符! 数据处理 > 图片处理 > 访问设置

      QQ截图20210607114459.png

      和watermark avatar样式      数据处理 > 图片处理 > 新建样式 

    QQ截图20210607142346.png

   




常见问题

  • 表单上传回调返回 http 203 callbackFailed    重点检查 插件设置  回调地址是否正确 url重写是否正确

    b11afe2cf3e4f49581ceef5a41c31099.png

    callbackFailed 一些可能是插件错误

    message  Error 403 是 签名错误 或者证书公钥获取不到 

    message  Error 500 回调控制器方法语法错误  或者是 回调方法访问不到

    message  Error 401 签名参数缺失 一般是 自己手动访问时候出现




    callbackFailed 一些官方错误

    • 错误信息:Get image info failed.

      错误原因:OSS未能成功获取到图片信息,该图片可能上传失败或已被删除。

      解决方案:


    • 图片上传失败,请调用PutObject接口重新上传。

    • 检查请求的图片是否触发了生命周期配置的删除规则,或者确认其他具有合法权限的用户是否删除了请求的图片。

    • 错误信息:Too many callback requests.

      错误原因:OSS正在处理的Callback请求过多。

      解决方案:请稍后重试。

    • 错误信息:Cost too long time.

      错误原因:回调服务器处理时间超过5秒,OSS将其判断为超时行为。

      解决方案:建议回调服务器的处理逻辑修改为异步,保证在5秒内处理完毕并将结果返回OSS。

    • 错误信息:Response body is not valid json format.

      错误原因:回调服务器返回给OSS的Body不为JSON格式。

      解决方案:请参见上传回调中的常见错误及分析处理进行排查。

    • 错误信息:Error Status : 400.User server return too long content-length value.

      错误原因:应用服务器返回OSS的响应中没有携带Content-Length的Header,Body大小超过1 MB。

      解决方案:应用服务器返回OSS的响应中必须携带Content-Length的Header,且Body大小不允许超过1 MB。

      例如,如下返回示例中携带了Content-Length的Header,且Body为{"a":"b"},大小不超过1 MB。

      HTTP/1.0 200 OKServer: BaseHTTP/0.3 Python/2.7.6Date: Mon, 14 Sep 2015 12:37:27 GMTContent-Type: application/jsonContent-Length: 9{"a":"b"}
    • 错误信息:Error Status : -1.OSS can not connect to your callbackUrl, please check it.

      错误原因:OSS无法访问用户的应用服务器。

      解决方案:请检查用户的应用服务器是否能正常运行,且与OSS之间的网络通讯是否正常。

    • 错误消息:Error Status : 400.User server missing content-length.

      错误原因:应用服务器返回OSS的响应中没有携带Content-Length的Header。

      解决方案:应用服务器返回OSS的响应中必须携带Content-Length的Header。

    • 错误信息:Error Status : 400.User server return invalid conent-length value.

      错误原因:应用服务器返回OSS的响应中没有携带Content-Length的Header,或者Content-Length的值不为正整数。

      解决方案:应用服务器返回OSS的响应中必须携带Content-Length的Header,且Content-Length的值必须为正整数。

      例如,如下返回示例中携带了Content-Length的Header,且Content-Length的值为正整数9

      HTTP/1.1 200 OKDate: Mon, 14 Sep 2015 12:37:27 GMTContent-Type: application/jsonContent-Length: 9Connection: keep-aliveETag: "D8E8FCA2DC0F896FD7CB4CB0031B****"Server: AliyunOSSx-oss-bucket-version: 1442231779x-oss-request-id: 55F6BF87207FB30F2640****{"a":"b"}
  • 表单直传oss上传成功有文件 数据库没有 js爆红  如下图  一般是回调地址访问不到  检查url重写规则  (本地环境没法回调 网络不通的 表单直传需要线上环境) 

  • 9e338e0daf64461f1db5a3e1b3e9391f.png


更新记录

v2.6.4 更新记录


fix 修复v2.6.3 bug 


v2.6.3 更新记录

优化获取地址的方式  兼容原始 样式 使用方式


v2.6.2 更新记录

修复多选上传 上传失败的问题


v2.6.1    2021.06.21

修复配置获取url拼接错误



v2.6.0    2021.06.21


更新直传ui界面 和 原有风格保持一致 

优化错误提示


v2.5.2    2021.004.05

* 补上因合并导致的 表单直传 上传完成响应js代码缺失


v2.5.1    2021.03.02

* bug修复 附件上传 undefined

* 兼容bug修复


兼容检测 时间20210125 兼容thinkcmf6.0


版本更新2.5.1  更新时间  2020.07.28



更新SDK2.3.0更新到2.3.1


表单直传增加进度条显示


QQ浏览器截图20200728163634.png


版本更新2.5  更新时间  2019.06.27

优化 oss表单直传 

调整表单直传 http https协议获取方式 从配置获取 改为当前request对象动态取值


image.png


版本更新2.3  更新时间  2019.5.9

兼容 5.1 


版本更新 2.1

修复了一些bug


版本更新2.0

    同步官方正式版5.0.180123  oss直传功能




和官方七牛云存储使用方式一致


blob.png


如有问题请 回复 评论 或者到官方群 联系我






ThinkCMF模板插件交流群:550851374 ,领取阿里云1000通用代金券

评论

暂时关闭,稍后恢复~
文档请看10遍以上!有问题可加QQ群!
发布插件

七牛专享优惠码

507670e8

ThinkCMF教程


ThinkCMF 8.0.0发布啦!祝大家节日快乐! 立即体验!