我移植的图床程序Migs for 百度BAE提供下载了!

2013-01-16

已知BUG:小图片不能生成略缩图……

Migs是一款新浪SAE上运行的图床软件,可以非常方便地支持图片管理及批量上传等操作,并且用户界面做的也非常棒。于是就在半年前一个蛋疼的夜晚,我把Migs 移植到了百度BAE,作为个人图床使用。

与原版的Migs相比,我所移植的BAE版本做了一些性能上的优化,使用百度云存储(BCS)作为储存空间,增加了相册分类、剩余空间查看等功能。从一定意义上来讲,比原版更强大。

在运行了一段时间后,令我感到惊奇的是,好多网友都有这个需求,纷纷通过各种联系方式要求我提供BAE版Migs的下载。盛情难却,但苦于事务繁忙,所以一直拖到了现在。今天经过简单的整理,我总算可以把BAE版本的Migs提供给大家下载了。

但我需要说明的是,该软件曾出现漏洞,我的图床也曾被黑客网友“攻陷”。虽然我事后对一些页面做了防SQL注入处理,也使用URL REWRITE隐藏真实页面,但还是不保证漏洞都补上了。此外,还有个缺点,就是本人比较懒,相册分类管理页面没有做,需要进入数据库(mi_category表)进行相册分类的增删操作。

下面介绍下安装步骤:

第一步、创建一个应用,然后创建一个新版本。对创建的新版本选择“包上传更新”,将从百度网盘
http://pan.baidu.com/share/link?shareid=377273241&uk=4228204247,存在些问题,暂时撤下)下载到的Migs4BAE上传到服务器 。

第二步、选择“编辑”,然后使用BAE Code Editor打开config.php文件,作几个简单的更改:
1. 第15行,设置数据库名称;
2. 第29行,设置应用名称;
3. 第32行和第34行,设置百度云存储(BCS)的AK公钥和SK私钥。

Migs for 百度BAE

第三步、打开浏览器,键入你创建的应用网址(http://yourapp.duapp.com,事先记得将创建的新版本上线),进入安装界面。填写相关信息,安装完成!(貌似安装时使用中文会出现乱码,但没关系,安装完成后在后台改下就ok了)
Migs for 百度BAE安装界面

第四步、登陆后台,站点设置->storage设置,如果容量相关参数和事实相一致,OK,这就说明信息填写正确,否则你就要检查AK、SK、Storage名称是否都填写正确了。

Migs for 百度BAE配额查看

好了,就说这么多吧,还有不明白的,可以在本页留言,我尽量帮忙解决。(注意,默认相册不能删除!出于程序效率考虑,采用HTML上传方式时,上传完成后并不直接生成略缩图,而是等查看“所有图片”时才生成)Bucket一定要记得设置成公开读哦!

演示:http://1.mawenjian.duapp.com/

 


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

本文链接地址: 我移植的图床程序Migs for 百度BAE提供下载了!

分类:随笔文章 | 标签: |

129 条评论

  1. 歪妖内涵网说道:

    好久没来了,过来踩踩

  2. 为什么我上传以后,安装什么都没有问题,都能到最后,但是我发现安装完成后数据库里面灭有表,登录的时候显示验证用户名或密码错误,这是什么情况???

    • 马文建说道:

      BAE3.0和原来的2.0差别较大,这个程序只适用于原来的2.0(马上就下线了~~),3.0环境下一直木有测试过,所以原因不太清楚。我最近在忙别的事情,所以暂时恐怕没有时间搞这个,抱歉。你再尝试下别的程序吧,感谢信任!

  3. cxd44说道:

    博主能不能把这个程序移植出来?不少人喜欢简单的php的。

  4. 心伤的天堂说道:

    博主 这个有没有普通PHP的呢 我找了下,不是BAE就是SAE的!

  5. /gz晨旭~说道:

    为什么我的缩略图不出现呢。。。求救。。。chenxugame.duapp.com/

  6. Youth.霖说道:

    感谢分享,我也想试试

  7. 黄道到说道:

    你好,博主,我安装后点击登录就出现乱码(“鐢ㄦ埛鍚嶆垨鑰呭瘑鐮侀敊璇�”仅仅出现这一串字符),这是什么情况??你的QQ是多少??

    • 马文建说道:

      你好,如果我没有猜错的话,是数据库的编码问题,到MySQL改一下编码格式基本就可以了。反正不是gbk改成unicode,就是unicode改成gbk。好长时间没弄了,所以记不太清了,抱歉。

  8. sys说道:

    超级喜欢这个图床程序,部署完毕啦 可是上传一直显示pending 什么原因呀

  9. ferstar说道:

    你好,非常感谢你的移植,发现一个bug:图片上传后无法删除,不知何故,必须到bae后台删除图片以及对应数据库表

  10. 点点滴滴说道:

    看了你的留言回复,半天才弄好http://iimages.duapp.com/

  11. chenmo说道:

    可以安装在BAE的二级目录下吗?

  12. 亚克西说道:

    检查了很多遍,还是登陆密码错误。不知道怎么办

  13. HackerSundy说道:

    请问出现Upload Error: 500怎么回事?上传不了图片耶……我的QQ:894467908 thx~

  14. 蜗牛说道:

    Upload Error: 500 郁闷了

  15. 你好,我在数据库category表中添加了几个分类相册,但是在分类相册下上传超过10张图片的时候点击翻页那个箭头没有效果,点击完还是显示当前的这9张图片。我应该修改哪里?

    • 马文建说道:

      网址是多少?据我估计,可能是原先的遗留问题,分页处少写了一个"/"

      • 我看了下代码,感觉是在nav.page.php文件里查询图片个数的那个sql问题,那个sql查的是所有的图片,没有查询分类相册里的图片个数的sql,这样他查不出来我分类相册里有多少图片,不知道对不对

        • 马文建说道:

          应该不是,我记得有个先前的版本是翻页url少一个“/”的问题。
          没有判断个数,后果是出现无限的下一页,倒没有别的影响。

          • http://weixiaoworld.duapp.com/ 这是我的相册, 总共应该是上传了12张图片到 me 这个分类相册了。但是点翻页箭头一直只显示这9张, 但在首页和所有图片里就可以翻页,只有在分类相册下箭头不好使,在所有图片下翻页,第二页就不是这种列表形式的页面了。有时间的话还劳烦您看一下下 谢谢了

          • 马文建说道:

            多谢反馈,是rewrite的优先级出了问题,在代码版本右边的“高级”中选择“配置”,将url规则顺序调整为:
            url /gallery/(w+)/page/(d+) /?category=$1&page=$2
            url /photo/(d+) /photo.php?id=$1
            url /gallery/(w+) /?category=$1
            url /page/(d+) /?page=$1
            你应该是下载的比较早吧。用http://pan.baidu.com/share/link?shareid=3949697365&uk=4228204247替换下/include/photos.php文件,你用的可能是修改前的。这个修复了url中多一条"/"的BUG,生成略缩图效率也还高些,不过好像宽度小于200像素的生成略缩图会失败。请知悉。

          • 已经按照上面所写的修改了。。可是还是不好使。。不知道怎么搞的。 替换了photos.php的文件,但是url中还是多一个"/"修改完顺序之后,点下一页还是不好使。。

          • 马文建说道:

            我的罪过啊!提前没有做好测试!

          • 别这么说。。你能移植这个图床我们已经很感谢你了。还是只能怪我自己学艺不精。要不然就不会总这么麻烦你了。

          • 马文建说道:

            不是的,因为匆忙,我确实没有移植好,这是主要原因;现在万恶的BAE居然不支持测量图片长宽,这是另一个原因。

  16. chenmo说道:

    我安装成功了,可是关于怎么设置分类,怎么弄防盗链对玩我等小白来说,还是有难度,如果能给点教程,那是非常感激不尽的

    • 马文建说道:

      分类到数据库category表中添加即可,因为该操作很少使用,所以移植后我没有加上;防盗链百度BCS是有,但目前我还没有测试成功,待有时间继续测试。

  17. 昨天刚安装了这个图床。感觉很好用。但是我现在想把上传的图片都放在一个固定文件夹里而不是按照我上传的年月份来自己新建文件夹应该更改哪个文件的什么字段才可以实现呢,类似于云存储里的2013文件夹--->08文件夹

    • 马文建说道:

      不好意思,时间隔得太长了,我忘了更改的哪个文件了。

      • 饿。。大概呢, 然后我在自己找找看。。现在没思路啊

        • 马文建说道:

          includes/do/upload.php第8行

          • 恩,好的,谢谢你了。 太感谢了。

            还有关于防盗链的用法。 我按照你上面给出的地址去看了下,我用的是那个用php小程序来实现防盗链,我按照说明做完后,防盗链是好使了。 可是我再上自己的这个图床网站上的时候不显示图片了。缩略图和大图都不显示了。点击图片显示的是类似{"Error":{"code":"11","Message":"ACL:Can not find [sign] in querystring.","LogId":"3776254649"}}这样的代码。不知道应该怎么解决了。最后重新建的站,之前全部删了重弄的。想问下,用那个博主给的php小程序实现防盗链还需要注意什么问题么!~非常感谢

          • 马文建说道:

            我给了防盗链程序?不好意思,我忘了哈,刚才找了半天,也没有找到。要是有的话,应该也是别人写的吧,有问题请与原作者联系,我不是很清楚哈。

  18. Alex说道:

    设置了

  19. jeff说道:

    {"Error":{"code":"11","Message":"ACL:Can not find [sign] in querystring.","LogId":"3776254649"}}你好,我的显示是这,图片看不到 http://pictureku.duapp.com/

  20. PDF杂志网说道:

    请问博主如何设置分类目录,还有想问一下,如何把原版migs for sae的生成缩略图像博主修改的for bae一样,改为指定宽度,自适应高度,原版的缩略图都是200*149的,而博主的都是200宽度,高度自适应。

    • 马文建说道:

      分类目录需要进入数据库添加记录;
      修改/includes/photos.php文件第134行,具体怎么设置请参见百度BAE Image服务,具体如何设置我记不太清楚了。

  21. 动力火柴说道:

    为什么我创建成功了,到那时登陆说我账户和moma错误呢.ungelivable.duapp.com

  22. yu虞美人说道:

    你好可以考虑把这个图传作为自己的博客图传吗?就是自己的wordpress,上穿图片的时候可以直接上床的百度bae的空间上,这样对于那些在美国空间上的博客有好处,避免了访问太慢的问题,呵呵,希望高手你能研究一下,现在有个wordpress的插件 Hacklog Remote Attachment 这个插件实现了远程上传图片,呵呵如果你有能力可以试着把插件改一改,直接变成傻瓜式的直接配置一下,什么配置百度的那个钥匙就可以上传,呵呵相信那些玩worpress的人会感谢你! 我就是一个理想主义者不要见怪哦!!呵呵希望高手你能去研究一下!

  23. 爱冰博客说道:

    我这里显示。但是可以访问的。总容量0.00MB,已经使用0.03MB,还有-0.03MB可以使用,使用了0.00%的存储空间。
    lstuchuang.duapp.com

  24. 说道:

    你好 我按照你写的做 为啥显示不了缩略图 点击以后大图可以显示的

  25. 郝纪召说道:

    您好,有一个小问题:上传图片后缩略图不能生成是什么原因呢?(其他都没问题),按照前面的介绍更新了photos.php还是不行,网站地址:http://discuzhjz.duapp.com

    • 马文建说道:

      问题在于文件名称中含有空格或括号等字符(具体哪个不清楚),另外,最好使用英文作为图片名称。

      • 郝纪召说道:

        谢谢回答,使用英文名称后有些图片可以显示了,但部分仍然不显示,后来注意到是图片太小的原因。有没有什么方法可以避免太小的图片缩略图无法生成的情况呢?

        • 马文建说道:

          你好,非常感谢反馈!目测是图片宽度小于200像素导致略缩图生成失败的缘故。可以解决,但是因为百度这二货把getimagesize函数获取远程图片禁止了,所以不太好处理,短时间内不好解决,请见谅。

  26. shizhishalie说道:

    博主给的那可以加多个账户吧?怎么加呢?
    还有设置防盗链是怎么设置啊?
    stting界面没有应该怎么改stting文件?
    谢谢答复

    • shizhishalie说道:

      还有个不是bug的bug上传的是错误的mp3文件会直接提示对象创建错误没有提示。。。。。。。

    • 马文建说道:

      两个问题一次回复了吧,上个留言就不显示了。
      一、好像是不可以吧,这个图床一般就是一个人使用的。当然,你要是在数据表中加条记录,应该也行,不过两个管理员没有主次的区别哦。
      二、防盗链的设置,见:http:// blog.gimhoy.com/archives/baidu-bcs-anti-stealing-link.html
      三、逻辑确实不太严密,因为生成略缩图时必须是图片才行,否则便会报错。暂时没有经历解决这个问题,还望见谅!

  27. zhyt说道:

    不知道算不算bug。
    在所有图片页面,点击下一页那个箭头的按钮,会链接到http://域名/list.phppage/2,这页面没有,显示404错误。
    望博主改进。

  28. zhyt说道:

    建议博主把修改后程序重新打个包,重新发个下载链接,这样简单点

  29. ACC说道:

    config.php设置好了。但是不知道哪里出错了,登陆提示用户名或密码错误,在数据库里也没有发现相关的表记录。,求指导。我把安装包、用户名密码一并发到你邮箱,谢谢了。

    • 马文建说道:

      数据库中没有表,不是没有安装,就是数据库名称、ak、sk错误。把本页发的photos.php文件替换掉,然后按步骤一步步来就行。
      不好意思,我没有时间一个个人指导,请原谅。

  30. chenmo说道:

    怎么上传图片老是提示:Upload Error: 500,传不了图片哇 ……。

  31. Jashon说道:

    你好 我上传图片直接500错误 图片是无法上传的

  32. jqx1991说道:

    BCS是什么?BAE应该是和SAE对应的吧?但是SAE不是能够防盗链吗?在那个migs for sae的程序里是允许防盗链的啊
    另外代码空间是什么意思?多谢回答
    再问一句,这个博客在移动设备上的显示效果真不错,能不能说说是怎么做到的?是用了WP插件?

    • 马文建说道:

      Baidu Cloud Storage,百度云存储。BAE确实是和SAE相对应,但SAE的文件是存储到storage中的,storage对应于bcs云存储。准确来说是storage支持防盗链。
      代码空间就是指的SAE的存储空间,因为用于存放代码而不支持写操作而得名。
      靠插件+移动主题配合实现的。

      • jqx1991说道:

        明白了
        刚才试了一下用BAE搭了个wordpress,但是我用的是原版的wordpress3.5.1,而不是wordpress on BAE,结果在创建wordpress安装时候数据库用户名密码和密码一直不对,虽然后来找了一份wordpress on BAE里的wp-config.php改了下数据库名和bucket名复制进去搞定了,但是BAE的mysql用户名和密码在哪里看得到?
        我用了如下php

        $ip = getenv('HTTP_BAE_ENV_ADDR_SQL_IP');
        // 数据库对外开放的接口
        $port = getenv('HTTP_BAE_ENV_ADDR_SQL_PORT');
        // 当前用户在BAE上的MYSQL用户名
        $username = getenv('HTTP_BAE_ENV_AK');
        // 密码
        $password = getenv('HTTP_BAE_ENV_SK');
        // 输出
        echo "ip: $ip <br/>port: $port <br/>username: $username <br/>password: $password <br>";

        但是输出的用户名和密码填进去还是不对...

  33. jqx1991说道:

    非常感谢~但是BAE不支持防外链,因此还是转战SAE了
    不过BAE的空间比SAE厚道啊,SAE还需要什么豆豆的,没了就不让用了~

  34. [$]+说道:

    你好,能帮我看看吗?
    我的也是显示{"Error":{"code":"11","Message":"ACL:Can not find [sign] in querystring.","LogId":"1472619291"}} 这类
    是不是公钥私钥没填对啊?

    • 马文建说道:

      先看不能显示的图片的URL,去云存储对应路径看是否存在相应的文件,如果存在,说明bucket没有设置成公开读;不存在,则说明公钥私钥没有填写对。

    • 马文建说道:

      你好,你原来碰到的问题可能是photos.php有BUG的缘故。
      Migs For BAE现在更新了下includes/photos.php文件,改为使用BAE图片API生成略缩图,解决了略缩图不能生成的问题,提高了效率,你有时间可以下载替换下(先原文件保留备份,避免出现问题)。includes/thumb-image.php也可以删除了。
      新文件地址:http://mawenjian.bcs.duapp.com/download/photos.php

  35. 菠萝说道:

    能不能把网盘程序owncloud 移植到bae上去??

  36. RALSIY说道:

    我用了这个程序咋不能生成缩略图呢,http://tukuczj.duapp.com

  37. vitoland说道:

    bae图床如何重命名上传文件名?
    list.php页面翻页代码少了个斜杠。

  38. aprioy说道:

    百度云空间配额就20gb,想问一下:能够实现和百度网盘进行联系吗?这样就不用费事的把资源传到百度网盘,然后创建公开链接了。

    • 马文建说道:

      我移植的这个程序其实是管理图片的,不能管理文件。我建议将图片这种传输比较频繁的放在云存储中,至于软件之类的大文件,建议还是放在网盘中,虽然麻烦,但是经济。一旦云存储将来没有免费配额了,费用就高了。
      当然,通过百度的API,应该可以实现程序同百度网盘的对接,但是通过服务器中转上传大文件,应该不明智吧?
      不知道是否明确回答了你的问题。还有,云存储一旦不够用了,可以再申请配额,据说最高2T,绝对足够了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注