【发布时间】:2013-11-21 17:20:22
【问题描述】:
我使用 web.py 应用程序作为服务器,在客户端使用 JQuery。应用程序的一部分需要上传文件,我让它在客户端中使用:
$('#filesend').click( function(){
var xhr = new XMLHttpRequest();
xhr.open( 'PUT', '/ajax/file', true );
var form = $('#fileform')[0];
var fd = new FormData( form );
xhr.send( fd );
});
并在服务器中使用此代码:
def PUT( self ):
try:
x = web.input(myfile={})
filename = data.getUserFilename( session.user, x['myfile'].filename )
data.saveFile( filename, x['myfile'].file )
except:
print sys.exc_info()
web.debug( "can't save file" )
return "OK"
但是,当我使用大约 2GBs 的文件时。我在 web.input 方法中遇到错误。
File "/usr/local/lib/python2.7/dist-packages/web/wsgiserver/__init__.py", line 1008, in readline
bline = buf.readline(size)
OverflowError: signed integer is greater than maximum
当文件太大时,我可以在客户端使用当前方法上传,但是,可以使用什么来上传大于 2GB 的文件?
【问题讨论】:
-
你解决了吗?
-
我确实认为您应该在某处更改限制最大文件大小的配置。
-
@AlexTwain 我解决了将文件分成
-
但是怎么做呢?你能用你的方法在这里发布答案吗?
标签: jquery ajax file-upload web.py