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支付

682 thoughts on “OSS Upload

  1. ※Weiwei〤づ

    已更新3.5,修改后链接更新了,但地址变成这种格式:
    xxx.oss-cn-shenzhen.aliyuncs.com/uploads/2017/12/test-800-e1513144691285.jpg
    {图片原名称} – {e} – {时间戳}

    1. Link

      是的。这就是图片修改后的正确连接。

  2. lingdong

    使用之后 wp_postmeta 表里 存在大量键:_wp_attached跟 oss_upload

    1. Link

      没关系的。_wp_attached_oss 是插件打的标记,判别是否OSS附件。oss_upload 是旧的,当时代码有问题就改了。

  3. ※Weiwei〤づ

    @Link,我重新创建了一个干净的新站,无插件无主题,只安装ossupload,进行了以下操作:
    1、启用使用OSS作为媒体储存,填完基础信息,缩略图选择第三种
    2、在媒体库上传一张图(test-800.jpg),正常显示,获得访问链接是
    xxx.oss-cn-shenzhen.aliyuncs.com/uploads/2017/12/test-800.jpg
    3、重新进入媒体库,看到刚才上传的图片,显示为138宽度的正方形缩略图,但获取的链接是原图(800宽度)
    4、编辑图片,缩小为400宽度,保存后右侧显示文字图片宽度400,但实际图片,包括链接依然是原图链接
    5、裁剪图片,裁剪为100×100小图,保存后返回媒体库无效果(依然是原图链接)

    1. Link

      我理解这里有两个问题。1个是显示的时候,看起来是原图,实际代码会根据需要显示对应尺寸的缩略图;1个是修改后连接不变的问题,这个新版已经修复。

  4. ※Weiwei〤づ

    新上传的也无效喔,都是xxx.jpg结尾,这个问题纠结三天了,反反复复重试了好多遍

    1. Link

      是你主题的问题哦,换个默认主题试试。

  5. ※Weiwei〤づ

    大神你好,OSSUPLOAD太好用了感谢~~唯一有个小遗憾,后台使用的都是原图链接,配置第三、第四类缩略图没有生效,后台在媒体库缩略图、编辑图片的时候使用的都是 XXX.jpg的链接,没有?x-oss-process参数,因此编辑图片也不生效(更新后依然是原图链接),切换WP_Image_Editor_GD 也一样,麻烦看一下

    1. Link

      更改缩略图模式,只对新上传生效哦。

  6. て◎ω⊙つ

    感谢提供这么好的插件,平时就博客兴趣爱好整理着玩,在帮朋友整理过程中遇到一个问题,就是绑定的OSS被我删除了,结果没法找回所有图片,如果在Wordpress站点目录下能有一个判断是否同时保存站点目录下,我需要怎么做或者修改?

    1. Link

      这个功能暂时不打算做。如果做了,OSS就显得多余了。你的需求其实很简单,定期备份即可。

  7. 福兮

    主题已发邮箱,新建一个页面选择模板 Blog – masonry & grid

    1. Link

      新版支持定义缩略图尺寸,其他的我暂时想不到什么办法了。

    1. Link

      插件只能尽量搞定后台的显示,前台的主题要具体分析。
      如果可以可以将主题打包发到我邮箱我看看。

    1. Link

      更新最新版试试。

  8. 福兮

    缩略图问题应该是 the7主题不兼容,换成其他主题没问题

  9. 福兮

    开启插件后,发现我列表缩略图全部是原图连接了,新添加的文章也一样。

    1. Link

      后台媒体库列表还是前台页面?

  10. 大神,现在媒体库里面链接全都指到本地里了,完全没有调用OSS

    1. Link

      试试新版解决了没。

  11. oobayi

    大佬,3.0,上传图片后插入到文章的图片链接是网站域名的链接,不是oss的,所以图片没法显示

    1. Link

      更新最新版即可。

  12. 福兮

    但是image的srcset属性里面的图片也是原图
    如:http://www.3dlao.com/190.html

    1. Link

      懂了,新版会修正。

  13. 福兮

    设置了原图的样式?abc,但是插入文章的图片srcset属性里面的图片地址上没带?abc

    1. Link

      是的。只有原图有后缀功能。

  14. 假电台

    网站上所有图片都无法显示了。新增文章里的可以显示。
    问题示例 http://jia.fm/5639

    1. Link

      升级到最新版即可。

  15. 甜心100【技术cole】

    你好,使用了这个插件和楼上一位朋友一样,上传正常,但是媒体库中是空白,自然也无法插入到文章中去。请帮忙回复下。谢谢

    1. Link

      通过媒体库上传的没有问题的啊。

  16. 陈明

    目前通过 wordpress 后台上传附件及媒体库管理,已经比较完善了。但是仍然存在一个问题,使用 API 上传的图片仍然会进入 wordpress 本身的上传目录,API 上传指的是包括 wordpress APP,第三方写作工具提交上来的图片等。有没有可能连 API 上传的附件一起托管了?

    1. Link

      可以,要具体看看。请给出具体的链接或页面?

  17. Aaron彭博

    感谢这个好插件。用的很愉快! 谢谢!

    唯一发现一个小问题, 开启后再安装其他插件会报错,如:

    无法安装这个包。 PCLZIP_ERR_BAD_FORMAT (-10) : Unable to go to the end of the archive ‘oss://u9ma/life/2017/11/codesp.zip’

    1. Link

      不好意思,老问题了,麻烦更新最新版即可。

  18. 哥哥在天涯

    在buddypress 中上传头像出错,拍摄头像保存出错

    1. Link

      最新版取消了加载模式(默认不勾选为贪婪),更新下即可。

  19. 哥哥在天涯

    更新2.0后,媒體庫不起作用,404錯誤,沒有指向oss

    1. Link

      新版已修复。

  20. oobayi

    我大概是第一个更新2.0的,因为我更新时候提示更新于2分钟前。但是出现了严重的bug,以至于到现在两个多小时了都没有解决,便回退到了1.9。问题是图片不能正常显示,主题是wp的默认主题,调试发现网站加载的图片路径变成了服务器本地链接,而不是oss链接。然后又发现woocommerce商城的产品详情图片可以正常显示,但是特色图片不正常。

    1. Link

      新版已修复。

  21. A、茗血冷兮

    不是,第三个第四个都无所谓,问题是后面的样式填在哪里啊,我没找到填样式名字的地方啊 (´_ゝ`),

    1. Link

      有所谓。规则四就是自定义样式。设置那里有链接。

  22. A、茗血冷兮

    可问题是,我图片不只是处理了尺寸,我还处理了水印、格式转换、图片压缩,如果可以设置自定义后缀就好了,就可以自由发挥了。比如http://wx4.sinaimg.cn/large/0068Hbgjly1fl1u48hqhbj31hc0q940l.jpg这样,你可以看一下。
    ~
    顺便说一下,你博客没办法回复评论,,,这个,感觉不太友好

    1. Link

      那就用规则四;我只设置了两级评论,有需要继续在一层评论就是。

  23. A、茗血冷兮

    我想用第三个模式,但是我不会用,开启以后怎么用啊,比如我的图片文件是:
    https://itmxue.oss-cn-beijing.aliyuncs.com/uploads/2017/10/2017103114000962.gif
    我的图片处理规则是itmxue,那我的链接就是https://itmxue.oss-cn-beijing.aliyuncs.com/uploads/2017/10/2017103114000962.gif-itmxue了,可是插入文章的时候还是原图啊

    1. Link

      规则三是自动的,不用手工加东西。插入图片时本身可以选尺寸的哦。

  24. A、茗血冷兮

    反馈bug,
    1、上传图片以后删除这个图片,但是缩略图还在oss里。
    2、建议加一个自定义后缀功能,因为阿里云有些后缀你插件里没有,见https://help.aliyun.com/document_detail/32243.html。
    3、这个是你博客的bug,注册时发送的邮件里的密码重设链接会把最后的>也包括到link链接里,这样直接点进去肯定是无效的。
    ~
    ~
    望采纳,顺便说一下,第一个bug能不能先出个解决方法,谢谢可爱的博主了= ̄ω ̄=

    1. Link

      1、不是BUG。图片缩略图选第一个即可。
      2、如果需要缩略图又不想产生碎片,图片缩略图选第三个。
      3、这个是程序内置的函数引起的。已修复。

    1. Link

      最好给个连接或者给个截图,或者加我QQ吧。

    1. Link

      不好意思,未能理解这是什么意思。

  25. 我本将心向明月

    您好,我用的OSS upload 按照设置来却是上传成功,读取失败,我去找阿里云客服他说好像签名出问题了,麻烦您指点一下

    1. Link

      一般是设置问题。QQ沟通下。

  26. 麦小劳

    楼主好,用了你的插件,点“测试一下”,显示“写入正常,读取正常,删除正常”,全部成功。可是在原来的媒体中心上传图片,确显示不出来。去OSS存储空间可以看到图片,请问这个问题如何解决?

    1. Link

      看不出问题,最好加下QQ说下。

  27. ❤辣乎乎

    插件是不是和特色图有冲突,设置特色图闪一下就不显示啦?

    1. Link

      这个跟具体模板的函数用法有关,可能需要提供一下具体的网站研究下。

  28. longkester

    回复挺快,谢谢。
    oss 后台实际上只能针对单个 obj 设置 header 头,手动的,不可取
    不过 aliyun cdn 倒是可以设置,但 expires 还好,对 cache-control 就无能为力了,因为它是个 time() + expires 这么一个增量,所以卡壳了。
    于是我尝试手动更新了 OSS.php 中的 upload 访问,加上:
    //by longkester start
    $longkester_expires = 3600*24*30;
    $longkester_maxAge = time() + $longkester_expires;
    $options[self::OSS_EXPIRES] = gmdate(‘D, d M Y H:i:s T’, $longkester_expires);
    $options[self::OSS_CACHE_CONTROL] = ‘max-age=’ . $longkester_maxAge;
    //by longkester end
    貌似不生效,哭晕。

    1. Link

      这样啊,那还得看看官方文档,代码支不支持先。

    2. Link

      看了下,你可能在 CDN 中直接设定 Cache-Control 的策略就能符合你的需求了,Expires 可以不用设。

  29. longkester

    很好的插件,不过我有一个问题请假,是否可以针对不同后缀的文件设置 expires 和 cache-control
    这个太有用了,感谢 Link。

    1. Link

      不客气。不过这个需求,建议最好还是直接在 OSS 后台设置缓存规则等。

  30. 不知云所…

    博主你好 正常上传后在媒体库里看不到缩略图是不是(还是我的有什么问题) 要是有的图片想重复使用就很难找 这个可以做吗

    1. Link

      WP就是通过媒体库管理上传文件的,怎么可能找不到。想重复利用就备注好描述,查找即可。

  31. Gang

    atal error: Cannot access protected property OSS_Exception::$message in /www/wwwroot/blog/wp-content/plugins/oss-upload/oss-upload.php on line 212
    帮忙看一下,谢谢

  32. April_0429

    作者你好,我使用了OSS这个插件,上传也成功了,可是设置成特色图片,首页显示不出来,是什么原因呢?

    1. Link

      1、加载模式取消勾选;2、试试换个自带模板

  33. Bo_小痕

    你好 博主 有些前端插件(比如UserPro)用的是自己的写的上传函数(比如头像,特色图片)
    请问怎么手动加载这个插件~

    1. Link

      加载模式选兼容试试。

  34. JANG

    用这个是不是原来本地的图片都会失效呢,我在另一个站测试了,能打开,但是原来媒体库的图片都不显示了

  35. JANG

    保存设置之后网站会变得异常卡顿,首页都打不开了,但是测试写入读入删除都正常也没有报错,停用插件又恢复了 ,要怎么解决呢

    1. Link

      你的主题或者其他插件有代码调用了本地附件了,得自己过代码,或者使用兼容模式试试。

  36. VR345

    想使用OSS的图片处理,请问具体该怎么操作?

    1. Link

      设置那里有连接,勾选后再到OSS后台配置需要用到的五个样式。

  37. Eternity°

    BucketName的问题,上传路径 oss://miitao
    oss起的名字要填对

  38. Eternity°

    换了杭州线路也报错
    写入正常,读取出错: NoSuchKey The specified key does not exist. 594153DF57BB74346F402D2E wp-content.oss-cn-hangzhou.aliyuncs.com uploads/oss_upload_fcbbdc0c662217403935a7cffac9dd77.txt

    1. Link

      问题一个一个来,情况都很具体你多试试吧。域的问题搞定,现在可能是目录的问题。

  39. Eternity°

    选了杭州还是不行啊!
    写入正常,读取出错: AccessDenied The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint. 594152686FA177397C3B4598 wp-content.oss-cn-shenzhen.aliyuncs.com wp-content oss-cn-hangzhou.aliyuncs.com
    这是我阿里云的
    OSS外网域名: miitao.oss-cn-shenzhen.aliyuncs.com OSS
    内网域名:miitao.oss-cn-shenzhen-internal.aliyuncs.com

  40. Eternity°

    问题是我不是杭州的线路的。我用的是深圳线路

    1. Link

      这个估计要问阿里云了,报错说这个库被指定只能用杭州的域。

  41. Eternity°

    我选的是深圳的 你QQ多少 我给你看看那里错

    1. Link

      你端域地址用杭州就对了。

  42. Eternity°

    求你出一篇教程吧。
    下面什么问题来的。
    写入正常,读取出错: AccessDenied The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint. 59414E846FA177397C2B4D9D wp-content.oss-cn-shenzhen.aliyuncs.com wp-content oss-cn-hangzhou.aliyuncs.com

    1. Link

      这个跟教程无关,你自己的端域没选对,用杭州的吧。

  43. Suyong Ye

    博主,请问为什么上传大概60M以上的文件就会上传失败?会提示http错误。
    Request URL:http://test.com/wp-admin/async-upload.php
    Request Method:POST
    Status Code:500 Internal Server Error
    求解

    1. Link

      百度,wordpress上传大小限制