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

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

更新内容

此版本修复了以前版本的一些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



Internationalization:

Following hyperlinks to get this open source and free software. AliOssForTypecho

If you are willing to help me improve this plugin, you could fork the github source droomo/AliOssForTypecho and do any modifications as you wish.

If you want to reprint this article, please indicate the source of the article.http://www.droomo.top/AliOssForTypecho.html

Tag: typecho, plugin, aliossfortypecho, alioss, oss

53 comments

  1. Cyril Wong Cyril Wong

    我设置的上传文件夹是 im/,但上传后链接就变成 https://xxx.ink、im/2018/09/03/099523121267406/1.jpg 中间那个逗号不知道怎么回事,搞得打不开链接

    1. moon moon

      未发现可能导致此问题的错误,请检查“自定义(CDN)域名”的设置是否正确。

  2. 子午 子午

    文件名有问题/usr/uploads/2018/08/10/789241153806095/psb (1).jpg

    这个789241153806095应该是文件名,你这个上传变文件夹了。

    1. 范明明 范明明

      我也觉得建立一堆没用的文件夹太麻烦了,想把oss上面的数据备份下来简直就是个灾难。
      保留源文件名,基于日期上传这没错,可是每个文件都建立基于日期下的文件夹确实有点麻烦。
      对于使用oss存储文件久一点的博主来说,要把这些数据备份下来真的太难了。当然不否认插件确实很不错。再没有找到如何完整备份oss数据到本地之前,准备弃用了!

    2. _moon _moon

      psb (1).jpg 是文件上传时在本地的名字,一串数字是随机字符串。
      这样做是出于以下原因:
      1、前一个版本中是采用随机字符串直接作为文件名的,但有的朋友需要保持原文件名的功能,我认为是合理的;
      2、OSS暂时没有检查object是否已经存在的API,因此无法检查要上传的文件是否存在重名文件;
      3、由于2,直接上传重名文件会替换原来的,这样很容易导致文件丢失。

      将来可能更新:
      1、OSS提供检查文件存在的API之后更新;
      2、提供多种文件重命名方式。

  3. 子午 子午

    谢谢分享。我之前用的OSS会导致附件的路径丢失,等试用过段看情况给博主反馈啊

  4. 范明明 范明明

    感谢大佬,问下阿里云的oss的跨域设置需要怎么搞啊。我把网站的静态资源比如 js css等类型文件上传到了阿里云,可是跨域以后很多东西都不显示了。看了官方的说明完全看不懂!

    1. moon moon

      这问题不能叫跨域,应该属于防盗链设置,去aliyun oss 后台设置防盗链白名单, 把站点地址加上应该就好了。

      1. 范明明 范明明

        防盗链设置好了也是不行的呢。还有,oss上面放那么多东西每上传一个文件都需要建立一个文件夹,这样并不便于管理。可以把同一文章或者同一日期的图片文件归类到一个文件夹下吗?这个是通过插件来实现的还是typecho就是这样的?还有,关于阿里云oss的文件怎样才能全部打包下载呢?是不是没有办法?

        1. moon moon

          通过ossbrowser https://help.aliyun.com/document_detail/61872.html 即可按照文件夹下载

  5. Gaobukai Gaobukai

    现在的版本是2.2.4,我自己试着修改了3天,已经吐血了,不会改,有空修改一下新的接口吗?老版本的也是不能用了,就是文件传上去就一直转,删除不掉,想要一个新版本的,谢谢

Leave a new comment