1
sdpfoue OP 发错结点了,想移动到程序员出现错误:
Traceback (most recent call last): File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 703, in __call__ handler.post(*groups) File "/base/data/home/apps/v2ex/1.353966803511879293/backstage.py", line 1659, in post node_new = GetKindByName('Node', destination) File "/base/data/home/apps/v2ex/1.353966803511879293/v2ex/babel/da/__init__.py", line 37, in GetKindByName one = memcache.get(K + '::' + str(name)) UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) |
2
Paranoid 2011-10-15 19:24:32 +08:00
没用过酷盘不清楚。
不过下载的swfupload,demo就直接带有进度条和剩余时间的实例。 接受2G文件的普通 1. 后台接受的执行时间的限制 (php 脚本文件) 2. 服务器端上载文件的限制 (php.ini) 3. web server 内存限制 (apache 配置文件 httpd.conf) 或许有其他方法, 等楼下。 |
3
sdpfoue OP @Paranoid 感觉这个酷盘的机制不是用post直接传的,改时间再长也会超时,我上传了一个500M的视频用了2个小时。文件限制这个就不说了,肯定是要改的。
主要就是这个2个小时的上传不超时是怎么搞出来的,怀疑是做了分块。看了下html5 的file api可以操作本地文件,但到IE9都不支持,刚刚测试上传是用的IE6. 实在搞不懂他们是怎么实现的了 |
4
kasuganosora 2011-10-15 20:09:03 +08:00
可以看看这个 PHP插件 http://www.ugia.cn/?page_id=74
|
5
Paranoid 2011-10-15 21:20:57 +08:00
@sdpfoue 例如在 php 中有 set_time_limit ( int $seconds ) 设置,虽然没有试过太长时间,按文档的解释,2小时不是问题。
http://php.net/manual/en/function.set-time-limit.php 同感兴趣是否有其他方法。 |
6
Ricepig 2011-10-15 21:39:17 +08:00
可以上传多块然后服务端自己拼装。
|
7
Livid MOD |
8
sdpfoue OP @kasuganosora 多谢,这个要研究一下
@Paranoid 之前是想当然了,仔细看了下时间设成0可以长连接 @Ricepig 浏览器操作本地文件的限制很多,html5的file api可以对本地文件进行读取和分块,但IE10以下不支持。剩下的对本地文件操作的只剩flash和applet一类的东西了吧。可以介绍下具体的思路吗,或者有已经实现了的代码可以参考下的 @Livid 收到 |
9
holystrike 2011-10-16 11:46:22 +08:00 via iPhone
客户端实现有很多,可以搜索 flash chunk upload
|
11
est 2011-10-17 11:14:18 +08:00
2G很正常吧。20G我都传过。长连接那是网速好。要么就用的是swf可以分块。
|