sa3Upload GAE网盘
大菠萝相册有1年没有更新了,最近看了下代码,觉得还是重新写一个网盘比较好一些。
特点
- 单个文件限制10M
- 每天流量1G
- 可以绑定自己的域名
TODO
- 写一个客户端的Upload
INSTALL
- 修改src/app.yaml,把sa3upload替换为您自己的APP ID
- 使用“appcfg.py update 目录地址”命令,将代码上传到App.
下载
演示:http://sa3upload.appspot.com
最新版本下载:http://sa3.org/hg/sa3upload/archive/tip.zip
hg clone http://sa3.org/hg/sa3upload/
留言
#1 skyqty
thanks
#2 zp
太感谢了,若是这个能做成dropbox那样的功能就更牛逼了
#3 Calum
@zp这个大小有限制啊,10M
#4 houkai
又发现个好东西 3Q
#5 john
囧,怎么没有像大菠萝相册一样的多文件上传了……
#6 ben
没有加哦
#7 TaoGOGO
原来用的大菠萝相册,后来ghs被封了,我就用独立的服务器做图床了,那时候才发现备份功能很重要,所以建议加个备份的功能
#8 smiz
请教,是否可以修改文件/文件夹排序为新的在上边? 现在这样着实不方便呐。
#9 ben
@TaoGoGo,已经加了备份功能哦。见:http://sa3.org/program/gae-bk/
#10 云在天边
啥时我也去整个哦
#11 ben
额,这个你修改下源代码,加一个按时间排序的即可哦
#12 云在天边
额,发现你的时间显示不太对哦,慢了50分钟?很怪异啊,貌似不是时区问题吧
#13 smiz
@ben #11 但是我不是程序员……不懂这些该怎么着手……所以只能来反馈orz
#14 ben
@云在天边,晕倒,服务器时间又乱了。。。我一会同步下。
#15 ben
@smiz,恩,下午我更新一个版本上去。
#16 ben
@smiz 已经更新了,下载新的代码,更新到GAE即可!
#17 smiz
@ben #16 呃,因为我有一些改动(主要是将中文翻译成了英文),所以我似乎不能直接更新(免得被覆盖?)? 所以我下下来拿WinMerge对比了下views与static下的所有文本……但还是没找出您具体是改的哪一句orz……可否告知一下我好人肉更新上去m(_ _)m
#18 ben
@smiz http://sa3.org/hg/sa3upload/rev/476056de23a7#l1.16 搜索:1.17
#19 ben
@smiz 忘记说了,是admin.py
#20 smiz
@ben #19 感谢!这次就只是更新了这份admin.py对吗?我将http://sa3.org/hg/sa3upload/rev/476056de23a7这页里所有的绿色部分填上,红色部分删去/换下就可以了对吗?
#21 smiz
咦其实那我干脆直接拿476056de23a7的admin.py更新到GAE上去就可以了啊……?
#22 smiz
噢不是,是admin.py、app.yaml、models.py,和views/admin/file.html。大概了解了。感谢耐心答复。
#23 ben
@不用啊,直接把filelists=FileList.all().fetch(PAGESIZE+1, PAGESIZE*(page-1)) 替换为:filelists=FileList.all().fetch(PAGESIZE+1, PAGESIZE*(page-1)) 即可,-表示去掉的,+代表新添加的。
#24 smiz
@ben #23 对,因为我看您修改的地方好像颇多……所以我在想那是不是“都得更新”的意思呃。
#25 ben
@smiz 另外的代码是本地上传的代码
#26 smiz
@ben #25 回报:前台的显示仍然是较旧的档案在前。后台新添加的Setting功能反馈是—— Traceback (most recent call last): File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 511, in __call__ handler.get(*groups) File "/base/data/home/apps/imgaglobeag/1.342353186511528652/admin.py", line 26, in wrapper return method(self, *args, **kwargs) File "/base/data/home/apps/imgaglobeag/1.342353186511528652/admin.py", line 137, in get self.render('views/admin/setting.html',{'setting':setting}) File "/base/data/home/apps/imgaglobeag/1.342353186511528652/admin.py", line 15, in render self.response.out.write(template.render(path, template_value)) File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/template.py", line 80, in render t = load(template_path, debug) File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/template.py", line 108, in load template = django.template.loader.get_template(file_name) File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/loader.py", line 79, in get_template source, origin = find_template_source(template_name) File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/loader.py", line 72, in find_template_source raise TemplateDoesNotExist, name TemplateDoesNotExist: setting.html
#27 smiz
↑这样似乎不太好……看了您博客首页像是刷版一样……您看过后删掉吧……
#28 ben
@smiz,稍等一会,我把新加的代码都注释掉吧。
#29 ben
@smiz 更新: 1.把model.py和admin.py,views\setting.html覆盖你本地的。 2.修改views\folder.html,把folder.filelists修改为folder.sort_filelists。 3.然后再更新皆可。
#30 smiz
@ben #29 有一点问题:5ca78742a261的包下views\下没有setting.html,是因为失手没打进去吗?还是说我本地建个空的就好了?
#31 ben
@smiz 忘记添加了哦,已经添加了,是views/admin/setting.html
#32 smiz
@ben #30 OK,这下总算是都搞定了。感谢耐心的指教(其实我都有点不好意思继续问了,笑)。这款对我来说相当实用,也请先生能在业余继续加油完善下去吧,客户端也很期待。关注这^^
#33 ben
@smiz 是我的原因,导致你...真抱歉 :)
#34 houkai
打开演示 出现 App Engine Error Over Quota This Google App Engine application is temporarily over its serving quota. Please try again later.
#35 ben
@houkai 下载的流量超了...谁乱下载啊,囧。
#36 云在天边
我昨天都看到你的那个项目over quota了
#37 ben
@云在天边,那你怎么不告诉我下哦。我已经把那个mp3删除咯。。
#38 云在天边
我提前不知道你那里放的是mp3,以为是你放的图片外链太多,导致……
#39 Cat Fun
在添加目录的时候,怎么才能添加多层目录啊? 比如2010/04/22和2010/05/33这样的!你的这个程序似乎只能添加到一层目录啊!
#40 Cat Fun
能不能在上传以后能让文件名直接显示,而不是在文件名前面加上一串数字?比如bbb.txt上传后的链接地址变为12345-bbb.txt啦!这样不好外链啊!
#41 ben
@CatFun 目前只有一级分类哦,那个ID是为了防止文件名重名。
#42 Cat Fun
@ben 能否弄一个可以多级分类的?而且不要更改文件名的? 万分感谢!
#43 ben
@CatFun ,你可以看下这个项目:http://code.google.com/p/gae-webdav/
#44 Cat Fun
@ben 我不太懂代码!看不懂!你能把多级分类和不要更改文件名这两个功能加上去么?这两个功能真的很有用!
#45 ben
上面那个项目就是多级分类,和不改文件名的哦。
#46 Cat Fun
他那个不知道该怎么使用~给的例子网站进不去!
#47 avh0202
请问如何绑定域名?
#48 ben
google google app 绑定域名
#49 理想
那个“SSH云代理”是不是类似 fedora func?
#50 ben
@理想 采用的Twisted,基本功能实现后,在本地跑没问题,在VPS上,占用内存太多,没办法提供服务。囧
#51 ben
@理想 刚看了您说的func,看起来不错,不过我现在在改写Dropbear的Server,来实现类似功能吧。
#52 Max Sum
为什么我上传flv,自己再下载播放时会出错??(6MB,另外一个800K的没事)
#53 ben
@Max Sum上传前和下载后的大小一样吗?
#54 Max Sum
大小一样。刚刚又下了一次,终于成功了……之前下载错误的时候,在appengine.google.com查看,发现error很多
#55 Max Sum
支持@ben ,希望快点出客户端!
#56 Max Sum
汉化做好了http://sumdisk.appspot.com/soft/72001-sa3upload%20%E6%B1%89%E5%8C%96%E7%89%88.rar,不过为什么之前直接改index.html、folder.html的时候会出现乱码,改base.html不会?
#57 Max Sum
修改了一下,还是直接去http://sumdisk.appspot.com/soft/ 吧
#58 Max Sum
时差问题怎么解决??
#59 ben
@Max Sum 客户端,直接根据http://sa3.org/program/gae-bk/写一个即可。
#60 ben
@Max Sum 能把后台错误帖出来吗?我没有遇到过这个问题。时差问题,可以加个filter,把时间加个8hour即可。
#61 Max Sum
可能是这段……不知道怎么调出来 http://sumdisk.appspot.com/76001-error.txt 我不懂python语言,能帮忙解决时差么
#62 Max Sum
客户端是指上传,不是下载……而且我也看不懂python
#63 Max Sum
如果能够像ftp一样管理就好了
#64 云在天边
@Max Sum 在index.yaml里添加缺失的索引就能解决了
#65 Max Sum
咋添加?
#66 ben
@Max Sum 关于FTP,可以采用这个。http://code.google.com/p/gae-webdav/
#67 MC柯
能不能稍微修改下,使他和Google Storage for Developers相配合?
#68 ben
@MC柯 我才拿到Google Storage 邀请,正在看哦。
#69 congxz6688
建好了,果然好用! 一个小小缺憾就是进入管理页后没有返回链接。 http://bigcat6688.appspot.com/ 欢迎大家来看看,还有我自己修改的Diabloimage哟。能批量上传,批量取链。
上传出错了,帮看看 http://penmbin.appspot.com/
#71 ben
@blambinneng@gmail.com 可以访问呀
#72 zio
什么时候增加批量上传啊?大菠萝不是有了么?
#73 ben
@zio 最近在忙另外一个项目,忙完了就加吧。
#74 ricky
http://402.latest.hkg242211.appspot.com/ 去不了主頁,帮看看
#75 ben
@ricky 可以访问呀?
#76 dengmin
很牛X
#77 了然
那个0 0ben,我想问下,去掉文件前面的ID-改哪里,我研究了下,实在弄不明白代码...麻烦你告诉我一下...谢啦 我想达到上传文件下载链接直接就是网址/文件名.后缀名 祝你开心
#78 ben
@了然 去掉ID就不能下载文件了,所以后面跟的文件名只是为了好看而已。
#79 了然
哦,谢谢
#80 了然
额,再次麻烦下你,ID能固定不0 0...提前道午安哈...嘿嘿
#81 dashan
请问下,每个application可以传几个应用? 我看网上说一个,可是我怎么传了两个,就是你写的那个相册,还有个就是别人根据你的修改的版本。谢谢。
#82 ben
10个
#83 dashan
也就是说我可以申请10个applications,然后每个application可以上传10个应用。我以前都是每个应用占用一个application名字。谢谢你
#84 dofine
请问能不能实现多用户管理?我们班级准备用这个建一个资料共享网盘。。
#85 云在天边
@dofine 你在GAE后台邀请那些人成为管理员,然后他们就可以登陆了
#86 Angel
额,,,来晚了,,,这个程序不错。。。
#87 baozi
这个网盘可以不以做点美化
#88 了然
网盘上传的rar等压缩程序下载后会损坏,不知原因
#89 GreatGhoul
如果只上传比较小的文件文件的话,Google应该不会感冒吧。
#90 sa
一個 Diabloimage 的BUG 001 和003 都有這個BUG 刪除圖片的鏈接里有 "-" 符號的話會無法刪除掉這張圖片 比如 http://staalupincture.appspot.com/show/8001/ 刪除鏈接為 http://staalupincture.appspot.com/admin/del/ag5zdGFhbHVwaW5jdHVyZXINCxIGSW1hZ2VzGME-DA 這張圖就無法刪除 已經用FF IE 還有chrome測試過 都不行
#91 ben
@sa 谢谢提醒,URL正则里少写了一个"-",导致匹配错误。非常感谢提交BUG.
#92 ben
@sa http://code.google.com/p/diabloimage/downloads/list下载最新的版本,问题应该解决了
#93 sk
可以创建文件夹。 你好怎样指定上传文件夹,我试了很多次,没有找到入口。。。
#94 sk
找到了,竟然是上传后重新指定目录,看代码都找了好久,O(∩_∩)O~
#95 6474
Error parsing yaml file: Unexpected attribute 'secure' for object of type <class 'google.appengine.api.ap pinfo.URLMap'>. in "src\app.yaml", line 20, column 11
#96 congxz
您好,汇报下最新版007的问题。(XP、FireFox) 1、批量上传还是不成功,上传结束后仍然显示为ERROR; 2、新的删除命令不好用,点击无效。
#97 ben
@congxz Firefox下不能正常上传是因为Flash在Firefox获取Cookie有点问题~
#98 ben
@congxz 不能删除,我马上测试一下看看
#99 ben
@congxz 你发一个删除的链接过来?我本地测试的可以呀?
#100 等待思索
有新版本了?
#101 YM
HI. 我怎么上传500kb以上的文件失败?谢谢答复
#102 ben
@YM 把后台的错误日志帖一下看看?
#103 YM
在哪里查看后台的错误日志?
#104 ben
@YM appengine.google.com
#105 wlf
你好, 为什么我是用了你的方法, 上传.rar文件总是出错呢?
#106 icyomik
NeedIndexError: The index for this query is not ready to serve. See the Datastore Indexes page in the Admin Console. This query needs this index: - kind: FileList properties: - name: folder - name: created_at direction: desc
#107 icyomik
出现上面的错误,应该怎么办??
#108 heartnn
能添加多重目录就好了,再一个如果有文件描述的功能就更好了,另外上传文件的时候不能选择目录吗?一定要上传后才能编辑,这点比较郁闷。
#109 Max Sum
最近上傳cab、jar、zip、rar都出現錯誤,但crx就沒有…… 顯示如下: Traceback (most recent call last): File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__ handler.post(*groups) File "/base/data/home/apps/sumdisk/1.346165675623017604/admin.py", line 26, in wrapper return method(self, *args, **kwargs) File "/base/data/home/apps/sumdisk/1.346165675623017604/admin.py", line 41, in post mime = self.request.body_file.vars['file'].headers['content-type'] File "/base/python_runtime/python_dist/lib/python2.5/rfc822.py", line 384, in __getitem__ return self.dict[name.lower()] KeyError: 'content-type'
#110 ben
@Max Sum 恩,最近准备升级下sa3Upload,增加一个多文件上传
#111 Max Sum
您回复好快……
#112 davoola
这个是不是有文件类型限制呀 我上传rar都报错,后来我把.rar改成.jpg,就能上传了,其实文件还是同样的文件。这个支持哪些文件类型呢/
#113 heartnn
网盘被刷爆了,可不可以加个防盗链呢~~
#114 ben
@heartnn 这个和图片不一样啊,咋处理防盗链?
#115 heartnn
可以定义来源,把来源不对的统统跳转到某个定义好的文件,比如“不许盗链.txt”等等。
#116 ben
@heartnn 别人用迅雷不就可以了?
#117 heartnn
@ben 哎呀,还真是麻烦的。。。不过一般人不会去改迅雷的refer吧?
#118 ben
@heartnn 你太小瞧迅雷了。。迅雷都自动加的
#119 heartnn
@ben 如果下载页面用js转换一下,起码应该会好一些吧?
#120 ray
http://code.google.com/p/gae-webdav/ 这个项目为什么没有下载的地方。。
#121 heartnn
@ray check svn就可以了。
#122 末路图腾
呼救博主:刚玩GAE,上传的文件为什么会显示路径,这个怎么去掉。。.?这是地址:http://alt-me.appspot.com
#123 游客
sa3upload目前是把每个文件都对应一个KEY,对外URL格式是"Path/Key-FileName",但是对于有更新需要的文件,当更换文件后,URL就不一样了,导致引用附件原有地址就实效了,能改成单纯按照文件名组织文件路径的方式吗? 个人觉得这个特性对发布资源来说太重要了. 急需修改一下!
#124 ben
@谢谢各位的支持,不过快过年了,可能没时间忙更新这个。我会在有时间的情况下,尽快解决这些问题。我更推荐使用Google Storage。
#125 58days
@末路图腾 我自己修改了一下,有这三个改动 1、上传文件无需登录 2、private的目录需要登录才能查看、下载 3、优化用ie浏览器上传时的文件名 地址:http://u.b57.net/