OSS Upload

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

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

目前最新版的上传相关功能基本稳定,并可兼容各种插件和主题!经过几个版本的代码混淆的尝试,最终还是正式取消代码混淆,并重新上传托管到官网插件库。

更新:使用插件开源免费,但麻烦站长保留各种形式的插件链接和出处。主要因为网站权重较低,需要各位的帮忙和支持,让其他朋友能方便的定位到本站。觉得好用也请点赞插件,谢谢。另外同时也托管到 Github,欢迎各种意见建议,谢谢。

OSS Upload
https://www.xiaomac.com/oss-upload.html

插件功能

  • 更好兼容各种文章批量导入!
  • 全新开关可自动兼容已发文章
  • 支持流协议几乎兼容所有插件
  • 全新支持大文件自动分块上传
  • 支持文章可自动上传远程图片
  • 全新支持多站并自动继承配置
  • 支持图片服务相关缩略图设置
  • 支持识别浏览器自动格式加速
  • 支持链接修正可随时开关插件
  • 带中英文附带设置说明和示范

常见问题

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

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

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

4、解决“超过了站点的最大上传限制”
修改 /etc/nginx/nginx.conf 的 client_max_body_size 64m
修改 /etc/php.ini 的 upload_max_filesize = 64M 和 post_max_size = 64M

5、服务器始终无法生成缩略图
这个是服务器没有安装图片组件 GD 或 Imagick,最新版的后台可自助检查:工具/站点健康 

6、启用/禁用OSS后如何兼容旧文章
连接修正下勾选“当启用/禁用 OSS 时自动替换旧文章中的附件地址”即可

版本更新

= 4.8.9 =
* 修复个别主题会严重报错的问题

= 4.8.8 =
* 修复伪协议包装的核心兼容问题

= 4.8.7 =
* 保存远程图片兼容古藤堡编辑器

= 4.8.6 =
* 支持禁用高清分辨率的缩略图相关

= 4.8.5 =
* 优化目录上传等功能支持重复执行
* 修复图片服务参数没编码引起的异常
* 修复物理缩略图模式只有大图的问题

项目地址

插件下载:最新测试版(github.com)正式版镜像(wordpress.org) | oss-upload-4.8.9

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

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

OSS Upload》有 645 条评论

  1. TORYS

    大佬你好,我想添加水印已经在阿里云设置好了样式,将代码填入 插件的 原图样式里面 还是将规则名称填入里面?都试过了 无效

    1. Link

      原图样式、规则名称都不用填,按照固定的几个KEY创建即可。

    2. TORYS

      我在阿里云那里已经创建好了,插件里什么都没填 上传后还是没有水印~ 2333~

  2. pop花型网

    老大,开启oss upload插件后台上传图片正常,前端用户投稿插入图片失败,oss里面也没有图片是怎么回事呀?后台上传都没问题,主题是ripro

    1. Link

      前端上传我没有专门测试过;貌似这个主题自带OSS?最好找下主题的技术支持确认下,使用内置的上传方法即可。

  3. 于文

    “插件只支持第二种“公共读、私有写”。”作者。我觉得这里可以更新下。添加一个方式,就是OSS为私有,然后往上面套个阿里云的CDN,阿里云的CDN是可以访问私有OSS的,然后再把CDN设置带宽上限,可以防止别人刷流量,而且CDN也比OSS费用低。

    1. 于文

      只是更新下说明,不用更换代码的。

    2. Link

      好的,谢谢建议。

  4. Mr.Zing

    504 Gateway Time-out

    我点击保存 老是这个错误是什么问题引起的。

    然后有这个错误邮件提示
    错误类别E_ERROR发生在文件/var/www/vhosts/*****/wp-content/plugins/oss-upload/lib/requestcore.class.php的825行。错误信息:Uncaught RequestCore_Exception: cURL resource: Resource id #1155; cURL error: Empty reply from server (52) in /var/www/vhosts/****/wp-content/plugins/oss-upload/lib/requestcore.class.php:825

    1. Link

      可能是你配置问题导致无法读取,可以看看错误日志。

  5. pop花型网

    photo.jpg?x-oss-process=style%2F{style}: thumbnail medium medium_large large new_thumbnail_size
    为啥我这插件里的参数这路是%号而不是你们的 / 这个斜杠,微信小程序能加载图片可是不显示

    1. Link

      不用管这个。编码是对的,否则系统获取文件名会有异常。

  6. 于文

    反馈下,accept带image/webp,但是图片没有加载webp格式(插件已勾选webp)。
    之前是能够加载webp的,现在原因不明

    1. 于文

      说错了…..只有主页不能加载webp,文章页是可以的

    2. 于文

      已解决,缩略图支持与webp服务冲突

    3. Link

      好的。厉害了~~~~

      不用太在意,新版我会用 HTML5 的 PICTURE 标签来做 WEBP 支持。应该会丝滑很多。

    4. 于文

      开学了再支持下,给兄弟倒杯卡布奇诺

    5. Link

      学生党就不用客气了撒~~~哈哈。

  7. xgBLACK

    你好,使用插件的时候遇到了一点问题。直接在浏览器访问网站首页链接(https://blog.xgblack.cn/ )图片是可以转换为webp的(带有转为webp的参数),但是如果是通过点击页面上的“首页”选项,或者网站logo什么的(以跳转的方式返回网站首页)时,图片不会转为webp。详细截图反馈在GitHub上了,我看别人用这个插件的网站也有这个问题,希望大佬帮看一下,谢谢大佬了。https://github.com/xiaomac/oss-upload/issues/10

    1. Link

      确认了,这是你主题的不刷新效果(/wp-json/pandastudio/nirvana/restapi/)导致丢失了 accept 头,所以代码认为浏览器不支持 webp,就没做处理。

      这个情况问题不大,你暂时忽略即可。新版我会更换为 html5 的 picture 标签来支持 webp。

  8. CHUN.

    想知道能不能设定特定的文件类型不上传…我的站点图标ico被上传了,OSS是不支持ico的。谢谢大大的这个插件了。

    1. Link

      做不到;OSS支持所有类型。

    2. 于文

      站点ico可以直接放在网站根目录,如果你不想用oss的

  9. TORYS

    勾选使用了当编辑文章时自动保存远程图片 的功能,可是每次图片都有上传到了媒体,但是网站会提示 连接超时,文章的图片也并没有发生改变 依然是其他远程图片~ 求助 大佬 抱大腿了~

    1. Link

      功能没问题。你自己测试文件数文件大小等来排查吧。

  10. TORYS

    图片上传很慢不知道是什么原因,另外请问可以粘贴上传吗?

    1. Link

      上传慢一般有两个原因:你自己网络慢、服务器到阿里云网络慢,可以尝试不用插件看看上传的速度如何来定位问题;没有粘贴上传,不知道是啥。

    2. TORYS

      图片粘贴到编辑器 自动上传至媒体(AliOSS)

    3. Link

      图片粘贴到编辑器——这个是编辑器的事。
      自动上传至媒体(AliOSS)——你勾选了远程上传的话,是可以的。

  11. 我的电脑

    上传图片突然不能用了 显示HTTP错误 进入设置界面点测试一下显示
    504 Gateway Time-out
    The gateway did not receive a timely response from the upstream server or application.
    关闭插件可以上传 阿里的oss没有变化可以上传文件 免费看下怎么回事

    1. 我的电脑

      麻烦看下怎么回事

    2. Link

      你服务器问题。

  12. 海阔天空jht3

    dalao,我在上传图片的时候报错
    Fatal error: Uncaught OSS_Exception: 8:$option必须为数组 in /www/wwwroot/jht3.tk/wp-content/plugins/oss-upload/lib/oss_util.class.php:220 Stack trace: #0 /www/wwwroot/jht3.tk/wp-content/plugins/oss-upload/lib/OSS.php(1455): OSSUtil::validate_options(8) #1 /www/wwwroot/jht3.tk/wp-content/plugins/oss-upload/lib/OSS.php(1495): OU_ALIOSS->precheck_options(8) #2 /www/wwwroot/jht3.tk/wp-content/plugins/oss-upload/lib/OSS.php(547): OU_ALIOSS->precheck_common(‘blog-jht3’, NULL, 8, false) #3 /www/wwwroot/jht3.tk/wp-content/plugins/oss-upload/lib/OSSWrapper.php(67): OU_ALIOSS->list_object(‘blog-jht3’, 8) #4 [internal function]: OSSWrapper->dir_opendir(‘oss://blog-jht3…’, 8) #5 /www/wwwroot/jht3.tk/wp-includes/functions.php(2524): scandir(‘oss://blog-jht3…’) #6 /www/wwwroot/jht3.tk/wp-content/plugins/oss-upload/oss-upload.php(97): wp_unique_filename(‘oss://blog-jht3…’, ’52_C0DB5RQM90U3…’) #7 /www/wwwroot/jht3.tk/wp-includes/class-wp-hook.php(287): oss_upload_handle_upload_prefilter(Array) #8 /www/wwwroot/jht3.tk/wp-incl in /www/wwwroot/jht3.tk/wp-content/plugins/oss-upload/lib/oss_util.class.php on line 220
    (我在OSSWapper的dir_opendir里面加了if(gettype($options)!=’array’){$options=array((string)$options);}临时解决了问题,还请dalao看看到底什么原因引发的错误QWQ)

    1. Link

      新版我会加个判断。你的BUG很罕见,应该是你的文件名导致。

  13. 羌青

    如何开启让图片请求为304。
    我用的WP Super Cache缓存插件,开启“304浏览器缓存。 通过检查自浏览器上次请求页面后页面是否已更改来提高网站性能。 (推荐)”之后,其他的静态资源都会请求为304。但是图片不行。
    请问我应该如何解决

    1. Link

      这个是OSS的活,后台我也没看到那里可以统一设置header。你可以去OSS后台下工单问下;或者在服务器做OSS的反向代理。

  14. 丫丫达达

    你好,博主,插件有时候明明设置了使用样式服务,oss后台也做了相应设置,后台媒体库图片正常显示,如08a69557691.jpg/full,而前台却还是显示08a69557691.jpg?x-oss-process=image/resize,m_fill,h_48,w_48这样的参数?
    谢谢。

    1. Link

      原生模板支持实时更新附件所产生的代码和路径,换个原生模板确认下。

  15. Mr﹏郭ゞ

    发布内容里,上传图片时,提示:插入图片错误,请问是哪里的问题?需要配置上传类型吗?如果需要的话请问怎么配置?

    1. Link

      不需要配置上传类型,默认即可。尝试禁用插件试试。

  16. 龙在天涯

    感觉插件不错:可是有2个问题,发布前文章图片显示正常,发布后文章显示找不到图片,另外删除文章时OSS里的图片不会同步删除,还请给予指导,QQ87855767

    1. Link

      1、无链接信息,无法判断。估计是远程上传失败吧。
      2、删除会同步。如果图片跟文章有关联的话。

    1. Link

      测试能用。可能有误会。

  17. wang

    请问大佬 为什么我图片成功上传到了云oss 在后台编辑的时候也是正常的 但是一发布 他就不显示了

    1. Link

      没有链接,没有设置。无法判断。

  18. wang

    大佬插件很好用 就是有个问题 我使用后图片全部都上传成功了 但是只有缩略图成功了显示云OSS的地址 内页的文章图片全部还是本地的 连接不对 我使用了连接修正 修正了很多次 还是不行

    1. Link

      没有链接,没有设置。无法判断。

  19. 小诸葛

    大神你好,正常的用插件将wp的所有图片同步到阿里云的OSS上,结果网站文章的缩略图都无法显示了,媒体库也都是一片空白,但是文章中的图片能够正常显示,请问该如何i解决呢?

    1. Link

      没有链接,没有设置。无法判断。

  20. 相信

    你好,请问一下如果勾选本地备份功能插件会把图片先上传到本地然后再同步oss,还是先上传OSS再传本地呢

    1. Link

      系统上传接口设计所限,路径为:先上传到本地;然后同步到OSS;如果大于2M,会使用分块上传;如果没勾选备份,再删除本地。

  21. 138****4801

    感谢作者提供这么便利的插件,国内WP必备插件。已经5星好评。
    遇到一个小问题:

    插件版本:4.8.9
    wp版本:5.3.2
    古腾堡编辑器,勾选了自动保存远程图片到 OSS。
    问题:文章中插入外部图片,但没有上传至OSS,依然是外链。

    github issue: https://github.com/xiaomac/oss-upload/issues/7

    1. Link

      谢谢。该功能我测试确认正常。
      这个问题涉及到好几个环节。请依次确认:媒体库能否正常上传、去百度首页拷贝LOGO图看能否上传、然后再看看你具体案例中的图片能否上传。

    2. 138****4801

      我知道原因了,图片链接也是aliyun oss的,估计是代码中做了域名判断吧?

    3. Link

      嗯没做判断才搞笑呢。从阿里云上传阿里云,想都不敢想……

    4. 138****4801

      还是可以想一下的,拷贝对象也用了aliyun oss,所以拷贝过来的时候,用的是对方的oss域名。这样从oss到oss就合理了哈。

      应该只判断拷贝的域名是否与输入域名一致吧?

    5. Link

      是的。我不关心图片是那个云。所以我指的阿里云是你本身的阿里云。其他域名都算云外。

  22. Mr﹏郭ゞ

    配置上了,对了,我想问下,网站主域名开启了https,请问oss是不是也必须要开启https,否则请求失败,oss流量好像挺贵的。

    1. Link

      对的;是的。

  23. Mr﹏郭ゞ

    奇怪了,没开启调试的时候,安装n多次都失败,按你说的开启了调试,本来想看下具体是什么问题,开启后居然一次就安装成功了,哈哈

    1. Link

      好的

  24. Mr﹏郭ゞ

    安装不了,提示: 503 Service Unavailable Service Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. Apache Server at 域名 Port 80
    请问是什么原因?
    PS:还有,我想问下,我安装了主题,用户可以自定义上传头像,请问咱们的插件支持用户自定义上传嘛?使用过别人的都不支持。

    1. Link

      1、启用调试才能看具体错误原因。
      2、只要是使用系统内置的上传接口就支持。

  25. 痕迹

    请问阿里云国际的OSS可以使用这个插件吗 (⊙_⊙)

    1. Link

      阿里云OSS就OK。

  26. 福兮

    $imghtml = get_image_tag($imgid, $desc[0], 0, ‘none’, ‘full’);
    是这个吗?不知道怎么改,尴尬!

    1. Link

      第二个参数改为空。你要改,你起码得懂呢。加油。

  27. 福兮

    你好!关于保存远程图片的问题,文章发布后,图片链接都会自动加上alt属性,请问是否可以不自动添加alt属性。

    1. Link

      可以。自行修改代码 319 行第二个参数。

  28. 幸运草

    先问下,选择第二种样式,然后在自定义里面填入 xxxxx/样式名字 会显示 xxxxx/样式名字fall
    请问怎么解决

    1. Link

      选样式;啥自定义的默认都不用填;然后在OSS后台设置 thumbnail medium medium_large large 这么几种样式。

  29. 晴川

    求助一下,如果网站用的香港阿里云,未备案,可以用这个插件,并把资源储存在大陆的服务器上吗?

    1. 幸运草

      不行的,图片的域名会被墙

    2. Link

      是的。图片不要用自己的域名即可;理论可用阿里云自带的三级四级域名。

    1. Link

      水印要用缩略图第二种,样式。然后OSS设置水印即可。

  30. 相信

    你好大佬,我停用oss插件后图片全部失效了,媒体库也全部404了怎么处理呢?

    1. Link

      先确认你本地有图片;然后参照正文常见问题第六点。

  31.  故人思已丶

    大佬想请问一下,能否从oss中恢复图片到媒体库中。之前站点通过oss-upload上传到oss中了,现在新建站点想公用一个oss,但新站点媒体库中山门都没有,能不能从oss中导入进新站的媒体库中?因为oss中已经有图片了

    1. Link

      不行。从本地同步到OSS,是因为数据库中有数据,同步文件即可。而从OSS同步到本地的话,本地数据库依然没数据的,同步文件也没用。

    2.  故人思已丶

      好的,谢谢大佬。明白了!

  32. Kelvin

    谢谢分享这么棒的插件,
    请问能否在本地也备份缩略图,保持OSS和本地图片图片尺寸一样?否则停用OSS后,本地没有缩略图网站部分图片显示不正确。

    1. Link

      可以。缩略图选第三个:物理缩略图。

    2. Kelvin

      1、是选择的第3个物理缩略图,OSS端一切正常,本地禁用重新激活还是只保存原尺寸(没有缩略图);
      2、后台设置图片上传路径有添加uploads,OSS端文件目录正常,wordpress图片调用路径没有uploads(其它路径正常),导致图片不显示。
      我使用默认主题测试的。

    3. Link

      1、需勾选本地备份
      2、oss目录需设置为:wp-content/uploads

  33. 子午

    你好,主题里有OSS功能时,就算关闭主题的OSS功能,依然无法开启OSS Upload插件。一点开启OSS Upload网站就崩溃了。

    1. Link

      换个主题看下。如果正常就得看看主题了。。。

  34. 顺便管管世界和平

    插件与Avada和the7等很多付费主题的css、js缓存功能不兼容,缓存功能会把css、js文件解析生成缓存到uploads目录,本插件会把uploads里面的css、js文件也替换域名。希望能限定uploads里面文件类型进行替换,例如只jpg、png、gif什么的。非常好用的插件,已去wordpress.org五星打分,谢谢!

    1. Link

      谢谢支持了。只要是用媒体库上传函数上传,都会进OSS。正常情况访问也不会有问题。不清楚你指的“不兼容”是什么情况?报错?

  35. luyu

    oss插件和the7主题不兼容

    the7主题会在wp-content/uploads目录下创建各种文件,开启oss插件后会导致the7主题样式丢失

    the7在wp-content/uploads下创建这两个目录smile_fonts、the7-css,有没有办法排除上传这两个目录到oss

    开启oss插件,the7主题会报错:“无法创建自定义.CSS文件。 为了提高您的网站性能,请检查是否创建了“…/wp-content/uploads/”文件夹,其CHMOD设置为755。”

    1. Link

      这个主题我确认做过兼容的。得具体看看代码了。目前也没有打算做目录排除的逻辑,会很混乱。

  36. 罗恩

    HI,Link
    咨询您两个问题
    1.在安装OSS Upload插件之前的网站图片如何同步到阿里云OSS?
    2.已勾选原图到本地储存,日后不使用阿里云OSS,如何切换到网站使用本地图片。

    非常感谢,你的作品~

    1. Link

      1、插件设置界面底部有同步工具
      2、本地有存储的话,不用插件也是自动适应的。如不行再启用插件,勾选“连接修正”。

  37. 设置“样式分隔符”和“原图样式”后。
    在「媒体库」中预览不了图片,文章图片显示正常。
    wp版本:5.3.2,插件版本:4.8.7

    1. Link

      OSS后台需要做相应设置才有效果。

  38. 叫我司大官人

    想换个主题,先把插件都禁用了,但是禁用之后缩略图不显示有的图片也不显示了

    1. Link

      我看不出这算什么问题。换完主题启用插件即可。。

  39. TORYS

    大佬你好,请问为什么每次上传图片后面都会带有一个 (-scaled )导致图片无法正常显示
    如下:
    /wp-content/uploads/2020/02/14b52f8f0cd3ea-scaled.jpg

    1. Link

      勾选“高清缩略图”,禁用之。

  40. 海阔天空jht3

    作者好QWQ,我这边遇到了图片提示404问题,插件在上传图片时都是以***\***\***.jpg储存,而在网站中却提供了***/***/***.jpg的链接,因此SSO提示NoSuchKey,希望能够帮助解决QWQ

    1. Link

      提供下连接看下。

    2. 海阔天空jht3

      https://blog.jht3.tk:8003/collection-place-1/
      https://blog-jht3.oss-cn-hongkong.aliyuncs.com/uploads/%5C2020%5C01%5Ctown-2-puzzle-location-qq-group-of-df-432227027-1.jpg

    3. 海阔天空jht3

      希望链接审核能拒下来,谢谢QWQ

    4. Link

      跟斜杠无关,行的无论斜杆还是反斜杆都行。

    5. Link

      系统默认旧媒体都是用物理缩略图,要解决旧文章旧文章的兼容:要么插件也选物理缩略图、要么手工编辑旧文章。

    6. 海阔天空jht3

      谢谢作者,麻烦作者了QWQ

  41. 早睡早起

    经过测试,无法与WP Statistics插件合作,其下属有一个GeoIP地理位置信息设置,会提示:设置GeoIP数据库目录权限时错误,请确保您的Web服务器有权限写入到目录:oss://shinecloud-wordpress(我的oss)

    1. Link

      好的,兼容问题,我跟进下。

    2. Link

      更新 4.8.8 即可。修复了一个伪协议的核心问题,接口调用效率也会更高。

  42. zEman

    先感谢您开发了这么好用的插件,在使用OSS Upload 进行图片搬迁之后,我的博客可以正常上传使用图片了。
    但是有一个地方有问题,就是我旧文章里面所有的配图都无法显示,请问这是我的操作失误吗?

  43. 更深的蓝

    很棒的插件。有两个问题:
    1、支持媒体库自定义保存文件夹么? 比如按照分类保存。
    2、修改媒体库图片名后好像不能自动更新?

    1. Link

      不支持;好像没有什么更新的事。
      插件只是接管存储的地方,不动其他上传逻辑。

  44. EzrealC

    图片文件超过一定大小之后就无法正常生成缩略图了,不知是什么原因导致的,大概3m就不生成了

    1. Link

      加下我,看下啥情况。

    1. Link

      发布文章时,有个选项要勾选。

    1. Link

      新版已支持。