百度云附件更新至v1.2版本——解决HTTP错误问题

2013-08-28

PS:“百度云附件”虽然已经出了3个版本,但依然有些问题,给各位网友平添了不少麻烦,也让我非常不满意。在此,我对各位网友说声抱歉了!目前从反馈的情况来看,Gimhoy维护的版本(http://blog.gimhoy.com/archives/bcs-support.html)要更好,所以各位不妨试一下。开发相同程序不是为了一较长短,而是尽可能地方便广大用户。

从我的WordPress插件“百度云附件”v1.1版本推出至今,已经有将近五个月的时间了,可是从v1.0版本开始就存在的“HTTP错误”问题却一直困扰着我,一个本来十分简单的插件,用起来却频频报错,实在让我有些丈二和尚摸不着头脑。后经网友提点,原来出现“HTTP错误”的原因是一些网友禁用了WordPress的略缩图功能,以致上传不存在的文件而出现错误,只要删除相应代码即可。

为妥善解决此问题,同时满足有略缩图用户和无略缩图用户的需求,我曾想,那插件不得判断WordPress是否生成略缩图、生成了几张略缩图才行啊,沿着此思路,我发现实现起来很是麻烦,所以就一直没有着手修改。

直到今天,我突然发现自己犯二了!其实这个问题解决起来很简单,根本不用判断WordPress的略缩图配置情况,只要在上传文件时判断该文件是否存在即可!——没有略缩图,文件自然不存在,跳过就完了。

所以,最后只加了两行代码,问题就解决了:

if( !@file_exists($file) )
return FALSE;

当时之所以没加这两行代码,就是因为我忽略了禁用略缩图的情况。按照我的想法,所有要上传的图片都是存在的,所以判断存在与否属于多此一举。两行代码就把这个问题解决了,真让我很无语……

此外,鉴于百度BCS已经支持防盗链功能,所以我在插件配置页面加入了跳转到“百度BCS防盗链设置”的超链接,而且跳转后无需输入AK/SK/BUCKET,即可配置你的BCS Bucket防盗链规则。

V1.2版本下载地址: http://url.ehan.cn/bcssupport


除非特殊说明,本博客文章均为原创,转载请以链接形式标明博文地址。

本文链接地址: 百度云附件更新至v1.2版本——解决HTTP错误问题

分类:WordPress | 标签: |
    • 不是的,应该是配置有问题。比如当前路径,如果是根路径的话,默认上传路径处是一个点,而不是为空,许多人经常认为是空的,或者填了一个"/",造成上传出现问题。

  1. 利用百度云存储WP文件的插件貌似之前在WP大学那也看到过介绍,不知道是不是站长的作品。
    马克互联网祝博主,新年快乐,流量大涨,马年行大运。。。

    • 因为最初的时候网上有个很原始的BCS插件,然后我们都是在其基础之上完善的,相当于不同的分支吧。不过从时间上讲,我的比他的出的要早一些。

  2. 我在sae使用这个插件,上传文件之后,在bucket上可以看到这个文件名,但是大小是0.00B,而且wordpress这边上传的时候会提示“Cannot set time limit with permission”,请问这是为什么呢?

    • 1.我没在SAE上测试过,所以为什么大小是0B,是不是插件不兼容SAE,我不是很清楚。
      2.至于“Cannot set time limit with permission”,是因为SAE的PHP环境不支持设置脚本的执行时间,只需把set_limit函数注释掉即可,BCS的SDK中应该是有两处。

  3. 上传时报错误:上传时发生了错误。请稍后再试。可实际是已经上传到百度bucket里去了。。。接下来怎么调用呢?难道还要每次进bucket获取链接?插件配置里面的:默认上传路径,我没有填,是不是这里的错误?这里是写什么路径呢?主机空间路径?

  4. 请问下这个插件是不是可以直接从wordpress后台上传到百度云,而不用把附件存在自己的主机空间?刚才试了一下,上传文件失败呢?

    • 是的,传到百度云之后,服务器中就不必再保存附件了。上传文件失败,应该是设置有些问题,或者是和别的插件产生了冲突。在不和别的插件配合使用的情况下,肯定是没有问题的,这个我已经测试了;至于和别的插件配合,貌似是会有问题,还得进一步修改。
      PS:评论竟然自动跑到“删除评论”去了,所以才回复,见谅。

  5. 你好,我用的是wordpress mu多站点,用了你的插件后每个用户里面都要设置,麻烦且不方便啊!能不能为我们mu用户开发直接把设置填在后台文件里,然后直接开启插件就可以用的版本呢?

    • 你好,现在这个插件还有一些BUG,在BUG解决之前,恐怕没时间针对MU版本做调整。比如,现在还不支持图像水印,这些都比支持MU要重要。
      另外,毕竟个人能力有限,我还没有详细了解过MU版本,所以能否开发地出来,也是个很大的问号。

    • 生成过多略缩图的问题这一版还没有解决,非常可惜。我打算在下一版,允许用户选择是否上传略缩图,不上传的话,就一张略缩图都不传。目前只上传部分尺寸的略缩图好像还不太好实现…;

  6. 感谢,诶,搞得我头都大了,阿里云的插件全部试遍了 ,不能用,七牛的要备案。百度云的,没有教程,今天看到这,帮助N+大。、哈哈、对了,博主,我上传到本地,它自动上传到百度云吗?那我本地是不是还在保留呢?小白不懂,望解答。

    • 只能是通过WordPress后台管理页面上传的资源才有效哦,这个插件不能扫描服务器本地的资源哦。等上传到百度云后,本地的资源不保留也是没有问题的,我在插件当中不是有个选项是“不保留本地附件”嘛。

    • 百度网盘适合用于存储尺寸较大的容量,建议直接通过百度的软件或插件上传,通过wp插件中转不是一个明智的选择。不过在wp编辑器中插入一个可以浏览百度网盘中文件的功能,倒是一个不错的想法。
      等以后有时间吧,我尽量做,但不敢保证。

  7. 凭良心说,你的这版比他的那版要好,他的那个不支持缩略图,这就是最大的问题所在,你的这个使用后发现,在云端的文件结构、命名、文件个数和大小与本地完全一致,这样以后万一不想用BAE附件,可以直接搬到本地然后修改下设置,很方便,而没有了缩略图,会带来各种不方便,而且他的那版上传时会出现乱码错误,可能是我在本地测试的原因,这个不说了

    • 非常感谢亲的支持哦!总算是碰到明眼人了,我将云端的文件结构设置地和本地完全一致,就是为了保证容易迁入迁出,可是有的新手就不太适应了。
      他的插件好像也有个略缩图版本的。至于乱码,是不是你的文件名中含有中文或者其他字符呢?

    • 你应该指的是后台管理页面的链接地址删除不掉吧?
      我刚才检查了下源代码,除了后台页面有不少烦人的东西,还是没有别的问题的。

  8. 你好,使用BCS时碰到个问题,我用到一个TDO mini forms的插件上传附件,这个附件里面也会让设置上传路径和文件路径。通过这个插件上传的附件不会上传到BCS里,请问这个有办法解决吗?

    • 我也看好阿里云OSS,特别是阿里云即将推出的CDN服务支持OSS。
      这个插件是原先为了免费使用百度BCS云存储写的,后来虽然不用了,一直做些修修补补的工作,方便有需要的人吧。

      • 呵呵!感谢分享 博主觉得wptouch-pro这个手机插件怎么样?我正在使用。
        今天网站访问数据出问题,还好有备份,博主推荐一下wp有什么好的自动备份插件,wp才上手不太了解。

        • 我也是个小菜鸟,嘿嘿。
          不好意思,我没有使用过这个手机插件,所以不好妄加评论。
          我没有使用自动备份插件,都是手动备份的,反正数据很少,也不麻烦。曾经使用某个自动备份插件,后来恢复数据时出问题了,所以从此一直都是手动备份来着。

  9. 最后~~我觉得你的这个插件还不如在bae上搭建一个类似七牛的镜像存储好了~~免费资源部落已经有教程和源码了~~没用~不过目测应该比直接上传到bcs上好,

    • 如果BAE的rewrite支持判断文件是否存在,这个想法可行;不过要是全rewrite到php环境处理的话,BAE会加上一个set -cookies的Header,不利于缓存,不如使用七牛。

  10. 终于解决了这个问题,,另外我想把现在网站的所有图片转到bcs上,应该怎样转呢,转了之后文章的图片地址该怎样改啊,有些时候没碰bae了,有些生疏了

  11. Pingback: 百度云附件更新至v1.2版本——解决HTTP错误问题 | 黑阔一下