Typecho插件:AliOssForTypecho--使用AliyunOSS储存Typecho上传附件

2020年6月,本插件发布1.1.8版本。


2022年,humu更新插件,支持php8。有需要的朋友请到Github自取。


更新内容

此版本修复了以前版本的一些BUG,做了一些改善,主要有:

  1. 使用aliyun-oss-php-sdk Release 2.3.1开发;
  2. 不再为每个文件创建单独的文件夹;
  3. 检测已上传过的文件,若存在同名文件,则自动命名为 name(1).ext,name(2).ext...;
  4. 优化了上传失败后的逻辑,详细记录失败日志,在插件配置页面即可看到;
  5. 增加新功能,可自定义图片处理样式;

祝使用愉快~

插件信息

插件名:AliOssForTypecho
作者:droomo
当前版本:v1.1.8
更新时间:2020-06-27
下载地址:https://github.com/droomo/AliOssForTypecho/archive/v1.1.8.zip
百度网盘:https://pan.baidu.com/s/1JeyjeFLLEYd2G4pRcL_O7w 提取码:bum0
Github地址:https://github.com/droomo/AliOssForTypecho

使用方法

  1. 下载插件,若github地址打不开,可通过百度网盘下载;
  2. 解压插件,将解压后的文件夹重命名为AliOssForTypecho
  3. 替换原来插件。

使用截图

使用截图


另外针对评论中提议较多的做出一些解释:
Q: 为什么不根据文章id来归档?
A: 因为在上传附件时,插件并无法得到文章信息。根据日期归档是通常做法,与Wordpress保持一致。

历史版本:

插件使用说明:

  • 插件基于aliyun-oss-php-sdk Release 2.3.0开发, 若以后SDK开发包更新导致插件不可用,请到 我的博客 ^ - ^获取新版本插件, 如果我还用typecho还用阿里云就会更新。
  • 请赋予 文件上传目录 以及 插件日志目录 写权限,否则可能导致上传失败。
  • 若开启“在服务器保留备份”功能:
    成功保存文件到OSS但没有成功保存到服务器的情况下插件不会报错, 这将导致当前文件在服务器上没有备份,但是会插件日志目录下生成错误日志"error.log",请定期查阅并清理。
  • 运行在云应用引擎上的站点“在服务器保留备份”选项无效。
  • 旧版本Typecho存在无法上传大写扩展名文件的bug,请更新Typecho程序。

配置详情:

aliossfortypecho配置.jpg

转载请注明原文链接:http://www.droomo.top/AliOssForTypecho.html

Tag: typecho, plugin, aliossfortypecho, alioss, oss

69 comments

  1. 小秦 小秦

    你好,问下替换原来插件。这个要替换什么插件!新手有点不懂,请教一下博主

    1. moon moon

      删除原来的,安装新的。

  2. END END

    hello,我发现区域选择自定义后,在自定义EndPoint里面填写oss-accelerate会一直报错,但如果全填写
    oss-accelerate.aliyuncs.com后,上传图片是正常的,但是穿后图片的地址会多出一个.aliyuncs.com,请问改如何处理,我是用阿里云的全地域节点。

    1. moon moon

      可以把Plugin.php文件的663到666行改成如下试试:

      $end_point = ($options->plugin('AliOssForTypecho')->endPoint === "other") ? $options->plugin('AliOssForTypecho')->otherEndPoint : $options->plugin('AliOssForTypecho')->endPoint . '.aliyuncs.com/'; return 'https://' . $bucket_name . '.' . $end_point . $userDir . $content['attachment']->path . $diy_style;

      如果不会改可以直接在cdn域名指定访问地址。

  3. 玩物 玩物

    十分感谢作者的插件,贴个打赏二维码,我来请你喝一杯。(嘿嘿)

    1. moon moon

      心意领了~感谢支持!

  4. Net Net

    这插件真心不错 绝对赞

  5. humh humh

    兄弟们,如果你是php8的环境,遇到了当前 1.1.8 版本插件 上传 RequestId 错误的问题,而上传失败。是因为其中插件依赖的 oss-php-sdk 版本不支持 php8,oss 已经更新了 sdk,已支持 php8,你只需要将插件中 sdk 换成当前最高版即可,并修改 Plugin.php 文件开头的 sdk 目录那一行即可。
    这里帮大佬更新一下。

    1. Tom Tom

      真好,出的就是这个问题!

    2. moon moon

      谢谢!我肝完期末作业就更新哈哈哈哈

      你可以在github提交pr(如果你愿意的话

      1. humh humh

        嘻嘻,当然很乐意,我不希望我成为单纯的伸手党,如果能帮上忙的话,肯定帮忙哈哈哈哈。所以当时评论完,就提pr了。大佬忙完后,回头可以看一下。可以不通过我的pr,也可以你那改一下就行。(因为我是看虽然只是简单的替换sdk,但显示commit涉及到的文件太多了,可能不太方便你审核 =。。=)

        1. moon moon

          已merge你的PR。非常感谢!!

Leave a new comment