OSS Upload

OSS Upload 是一款可设置阿里云 OSS 作为 WordPress 媒体库存储空间的插件,支持原创增强的 OSS 协议包装和原生内置的所有图像上传及编辑等相关功能。

插件设置非常简单,支持伪协议,无需修改任何内置上传函数;支持自定义上传目录,支持独立二级域名。OSS 本身也支持 HTTPS、CDN,还有各种强大的 API,使用迄今都非常稳定强大,推荐!

更新:新版强大稳定,可兼容各种插件和主题!使用免费,咨询协助付费,每次¥50,谢谢:)

插件功能

  • 支持流协议几乎兼容所有插件
  • 全新支持大文件自动分块上传
  • 支持文章可自动上传远程图片
  • 全新支持多站并自动继承配置
  • 支持图片服务相关缩略图设置
  • 支持识别浏览器自动格式加速
  • 带中英文附带设置说明和示范

常见问题

1、关于库的权限设置
插件只支持第二种“公共读、私有写”。如使用“私有+签名”的方式,资源一样是暴露的,没有意义。

2、关于图片原图保护
启用了原图保护,则图片服务只能选择第二种,即使用样式;或选择第三种再设置默认样式。

3、关于图片流量保护
这个跟插件无关,可以考虑开启防盗链。

4、关于上传大文件报 503 错误
这个跟系统设置有关:PHP内存、PHP执行、PHP超时等;如 PHP-FPM 可设置 ProxyTimeout 300

5、关于内部端点的设置
推荐 OSS 和 ECS 为同一地区,然后设置上传端点为内部端点,经实验上传大文件基本是秒拷。

6、启用远程图片上传后文章提示还原备份
该功能是保存文章时在后端上传并替换图片,导致文章跟前端浏览器备份的内容会有差异。忽略即可。

版本更新

= 4.3.9 =
* 修复上传本地目录时会丢失上传路径的目录

= 4.3.8 =
* 排除爬虫的图片加速效果
* 排除非图片的压缩样式
* 优化远程图片自动保存兼容性
* 优化默认自带全图样式
* 优化删除缩略图的功能
* 修正导出个人数据出错

插件下载https://wordpress.org/plugins/oss-upload/(重新审核中)
本地下载oss-upload.4.3.7

——打个小赏 感谢支持——

1 自动识别支付宝/微信/QQ支付

434 thoughts on “OSS Upload

  1. 福兮

    请问能不能实现图片类和附件类资源分不同域名访问?目的是让附件走CDN鉴权下载。

    1. Link Post author

      可以。这种需求你得自己写代码了,使用 wp_handle_upload_prefilter 即可。

  2. 牧刺

    我的意思是OSS里面的下行流量显示,服务器的IP每个小时有几个G
    服务器应该是把图片上传到OSS把,

  3. 牧刺

    是服务器再从oss下载不是上传

    1. Link Post author

      不太懂指啥。

  4. 牧刺

    用户访问的时候是OSS先给服务器,服务器再给用户?

  5. 牧刺

    插件应该是上传到OSS吧?
    怎么会从OSS下载

    1. Link Post author

      那是上行。访问时就是下行。

    2. Link Post author

      你概念都没搞明白就在纠结啥呢 何来的服务器 现在你的媒体库就给OSS托管了。就是这样。

  6. 牧刺

    插件会从OSS下载资源吗?
    OSS有很大的流量外网流出 IP是服务器IP

    1. Link Post author

      当然会。不然你的OSS拿来干嘛啊?!

    1. Link Post author

      嗯,本来打算在官网发布,一直没反馈审核。迟点我打包上传吧。

  7. 牧刺

    上传本地目录需要把php执行时间设置的超长不?
    我文件比较多 几十个G

    1. Link Post author

      代码延长了超时时间,但你让页面执行个三天两夜也不实际。你这种情况当然先下载再用官方OSS工具上传为佳;或者新旧共存理论也没问题。

  8. 牧刺

    上传本地目录 文章里面的图片URL会自动变成OSS的不

    1. Link Post author

      上传本身只是文件同步;文章内链接不会自动更新。

  9. 蓝精灵

    百度过了哦,没有找到答案啊,停用插件,本地上传中文名图片正常,用上插件之后,上传就会报错

    1. Link Post author

      不用插件上传中文图片,不会乱码?加我QQ吧。

  10. 蓝精灵

    wordpress版本:5.1.1
    oss upload版本:4.3.7
    环境:本地测试
    媒体库上传jpg图片,报错:“抱歉,由于安全原因,这个文件类型不受支持。”
    oss配置正确,读写正常
    刚才又试了一下,英文命名的图片可以正常上传,中文命名的图片就会报错:“抱歉,由于安全原因,这个文件类型不受支持。”
    望楼主给诊断一下哈!

    1. Link Post author

      想知道,你先百度过了么?

  11. 蓝精灵

    wordpress版本:5.1.1
    oss upload版本:4.3.7
    环境:本地测试
    媒体库上传jpg图片,报错:“抱歉,由于安全原因,这个文件类型不受支持。”
    oss配置正确,读写正常
    求楼主指点哈!

  12. 弦夕

    又拍云那个也行吧,主要是用又拍云Hacklog-Remote-Attachment-Upyun这个插件PC端网页上传操作什么的没问题,但是安卓手机端的Wordpress APP用Hacklog插件有问题,无法上传的存储空间。(上传后只有一个加载不了的框框,审查元素里面也有地址,但是去空间看并没有图片)

    OSS Upload这个可以,在安卓手机Wordpress APP里面很顺溜。

    怎么不弄个打赏二维码。多少也是用户的心意。。。

    1. Link Post author

      嗯有心了谢谢。打赏功能我统一放到“关于”页了,文章就没露出。现在大家都这么做,我倒是可以跟进下哈哈。

    2. Link Post author

      有心了,感谢这位兄弟的支持:)

  13. 弦夕

    特来支持,能更新一并支持了又拍云就好了。

    1. Link Post author

      谢谢。看了下又拍云已经有现成插件了。

  14. 大娃娃

    多谢作者回复,问题已解决。不过这次确实发现了一个bug(不严重),即,点击“上传整个本地存储目录”后,插件会无视用户设置的子目录,直接将文件上传到oss的根目录。从媒体库上传就不会出错。

    1. Link Post author

      感谢细心的反馈,新版会修复。

  15. 大娃娃

    疑似bug:
    wordpress5.0.3,主题为Kratos。oss插件的设置界面里,连通测试按钮不见了。并且,只要一勾选“启用OSS作为媒体库存储”,网站(新搭建的dawntudio.cn)就崩溃了。相关nginx日志记录为:
    #0 /var/www/rookie/wp-content/plugins/oss-upload/lib/OSSWrapper.php(2): require_once()
    #1 /var/www/rookie/wp-content/plugins/oss-upload/oss-upload.php(20): require_once(‘/var/www/rookie…’)
    #2 /var/www/rookie/wp-includes/class-wp-hook.php(286): oss_upload_init(”)
    2019/01/30 15:01:55 [error] 25443#25443: *663 FastCGI sent in stderr: “PHP message: PHP Fatal error: Uncaught OSS_Exception: Extension {curl} has been disabled, please check php.ini config in /var/www/rookie/wp-content/plugins/oss-upload/lib/OSS.php:48
    ssh登录服务器,手工删除oss插件目录即恢复正常。但是,如果不删除数据库里options表里的ouop记录,直接无法再次安装(网站直接崩溃)。

    1. Link Post author

      报错说了,curl被禁用,所以插件用不了 🙁

  16. 福兮

    之前连接符是 / 换成了 ! 没问题了。

    1. Link Post author

      好的。

  17. 福兮

    刚刚测试了一下,缩略图为第二个选项,媒体库中的默认是这样的格式,导致图片不显示
    /uploads/2018/12/5bd4b6d5ace20.jpeg/5bd4b6d5ace20.jpeg/medium

    后面多了一条文件名称这是怎么原因?

  18. 福兮

    不知道能不能实现oss的cdn鉴权防盗链功能

  19. 听见时光

    场景:使用360安全浏览器,保存了用户的登录账户密码;
    修改插件设置时,Access Key、Secret Key这两项老是会自动填入我的管理员用户名和登录密码…..
    万一没注意,再修改插件设置并保存时Access Key、Secret Key就给替换成管理员的登录用户名和密码了..

    1. Link Post author

      我不用360,无法测试。建议把一些自作聪明的类似自动填表的功能关掉即可,跟插件没关系。