阿里云附件(Aliyun Support)——基于阿里云存储OSS的Wordpress远程附件支持插件【原创】
2013-02-222016年4月6日更新:时隔一年,插件升级到V2.1 beta版。V2.1 beta版修复了V2.0 beta版中存在的数个BUG,欢迎体验。
2015年1月5日更新:插件已经升级到V2.0 beta版,欢迎各位下载试用并提出宝贵意见。V2.0 beta版完美支持WordPress 4.1版本,并在功能和细节方面做了许多更新。
废话不多说了,该介绍的上篇文章《百度云附件》都说到了。这个插件的作用,就是把WordPress附件上传到阿里云OSS。
插件特色:
1.上传图片的同时会将略缩图一并上传;
2.删除文件时,会与WordPress后台同步删除;
3.可以选择是否在本地服务器保留文件备份;
4.借助于OSS防盗链功能,可以实现图片防盗链;
5.可以自定义域名——既可以选用oss.aliyuncs.com/bucket/filename形式,也可以选用bucket.oss.aliyun.com/filename形式;
6.插件启用时会进行服务器运行环境测试,如果服务器不满足基本运行要求,则会进行提示;
7.增加AK/SK/BUCKET校验功能,如果AK/SK没有操作BUCKET的权限,或者BUCKET访问权限设置不当,也会进行提示。
2.1 beta版升级内容:
- 拆分为两个分支,一个采用阿里云OSS的图片处理机制生成缩略图,另一个继续沿用原来的处理机制;
- 新增对上海、美国、新加坡三个OSS存储节点的支持;
- Secret Key由明文显示改为密码形式;
- 取消“不上传缩略图”功能;
- 取消“不在本地保留备份功能”;
- 修正上传插件/主题时同步到OSS的BUG;
- 增加对离线协作软件(基于XML-RPC协议)的支持。
说明:
- 如果采用阿里云OSS的图片处理机制生成缩略图的话,需要在样式管理中添加四个分别名称为“thumbnail”、“post-thumbnail”、“medium”、“large”的样式。
- 采用阿里云OSS的图片处理机制的优点是可以节省存储空间,如果图片比较多的话,还是能省不少钱的;但随之而来的,是降低了云存储迁移的灵活性(因为缩略图URL的缘故)。至于哪种方案更合适,自己选择吧。
- “不在本地保留备份”功能不稳定,删除之。所以在选择“不在本地保留备份”时出现的插入1*1像素图片的BUG也随之消失。需要节约本地存储空间的用户暂时可以选择手动删除。
- 取消“不上传缩略图”功能,分支一无需上传缩略图,分支二不上传缩略图会导致“多媒体”中的缩略图无法显示。
- 暂未支持中文文件重命名功能,但不排除后续版本支持的可能性,各位可以尝试与其他插件配合使用(未测试)。
- 未支持与Hacklog Remote Image Autosave插件的兼容。在测试过程中,远程保存的图片的缩略图可以上传,但原图未能上传成功,删除时OSS中的缩略图亦不会随之删除。
- 未添加对WordPress MU版本的支持。MU版本对URL路径的处理比较麻烦,今天改烦了,这个功能先往后放一放。
下载地址:
- 基于OSS图片处理机制的缩略图生成版本:https://github.com/mawenjian/aliyun-oss-support/tree/master
- 沿用先前的缩略图上传机制的版本:https://github.com/mawenjian/aliyun-oss-support/tree/classical
- 具有相似功能的插件:https://github.com/IvanChou/aliyun-oss-support
2.0 beta版升级内容:
修复了v1.0版本中网友提出的各类BUG(我能想到的);更新OSS SDK到最新的 v1.1.6 版本;修复只能上传图片不能上传其他类型文件的BUG;支持OSS所有存储地域(杭州、北京、深圳、青岛、香港)和内外网支持;增加插件启用时的服务器运行环境测试,如果服务器不满足基本要求,则会进行提示;增加AK/SK/BUCKET校验功能,如果AK/SK没有操作BUCKET的权限,或者BUCKET为“私有”或“公开读写”状态,则会进行相应提示;增加插件卸载复原功能,会在插件卸载的时候将upload_path_url参数还原;允许用户选择是否将图片的缩略图不同步到OSS;优化代码结构,把大部分代码进行了重写,增加了完整的代码注释,对可能产生的错误和可能抛出的异常进行了相应处理,增强了代码的健壮性;代码同步到了Github(https://github.com/mawenjian/aliyun-oss-support),方便各位有兴趣的朋友创建新的分支。完善了插件配置页面的文字描述,即使是小白也能按说明把插件配置好。
安装步骤:
那这个插件如何安装呢?非常简单,只需四步:
第一、从这里下载“阿里云附件”插件,解压缩并上传到WordPress插件目录;(WordPress插件库还没有更新到2.0 beta版,等确认插件稳定后再更新)
第二、在插件管理面板启用“阿里云附件”;
第三、设置 >OSS Setting,按照说明配置Access Key、Secret Key、BUCKET等信息。
第三、设置 >OSS Setting,配置使用的Bucket、AK和SK。(基础知识不做普及了,地址注意Bucket属性要设置成“公开读”;OSS申请地址:http://www.aliyun.com/product/oss/)
第四、设置>多媒体,更改“默认上传路径”为’.'(表示存储在根目录);更改“文件的完整 URL 地址”为’http://{bucket}.oss.aliyuncs .com’或者’http://oss.aliyuncs.com/{bucket}’。当然,不一定非得存储在根目录,也可以存储在子目录,但一定要记得“默认上传路径”和“文件的完整 URL 地址”中的子目录一定要保持一致。
注意:WordPress 3.5以后的版本没有此选项,需要到“/wp-admin/options.php”设置“upload_path”和“upload_url_path”参数,这两个对应的就是“默认上传路径”和“文件的完整URL地址”。
理论上,到这里就可以正常使用了。但你会发现,打开”媒体库“,好多图片不能正常显示了。这可怎么办?非常简单,把原来的文件都上传到OSS相应位置就OK了。(推荐使用ossBox或者Aliyun OSS Server,从而可以整文件夹上传)
如果你想把原来文章的图片也替换成阿里云OSS存储,不妨执行下面的SQL语句:
UPDATE `wp_posts` SET post_content=REPLACE(post_content,’到原来附件目录的绝对URL’,'到远程附件目录的绝对URL’);
例如:
UPDATE `wp_posts` SET post_content=REPLACE(post_content,’img.mawenjian.net/uploads/’,'mawenjian.oss.aliyuncs.com/uploads/’);
说明:
1、由于增加了新参数的缘故,所以如果是从v1.0版本升级到v2.0 beta版的话,请在安装新版本插件后,到配置页面把新参数补充完整,以免影响使用。
2、最好将原来上传到WordPress的附件同步到OSS的相应目录,否则启用插件后,原来上传图片的缩略图在WordPress后台将会不能显示。
3、建议在上传文件前规范文件命名,避免因不符合OSS的Object命名规范而导致上传失败。个人建议文件命名使用“26个英文字母”、“数字0-9”以及“-”,除此之外的字符都不用。
4、对于体积较大的文件,不建议使用WordPress后台上传,因为需要Web服务器进行周转,效率较低,也容易出错(尤其是海外服务器);建议直接通过OSS管理后台或相关工具上传到OSS中的相应位置。
5、欢迎其他OSS类同步插件将我新加入的功能放到他们的插件中(直接粘贴代码也无所谓,当然,最好可以提及下idea来自于我)。为广大网友提供更好用的插件才是我们的最终目的,其他都不重要。
下载地址:http://url.ehan.cn/osssupport (SAE海外线路不太稳定,如果报500错误,多刷新几次就行了)
如果各位朋网友发现了BUG,或者有什么好的建议,请在本页留言。
上传成功后,oss里面没有 ,AK 和SK 没有错,怎么回事啊? 2.0