[Twisted-web] How can i download very big size file about more than
100M?
Young-gue Park
jackup at gmail.com
Mon Nov 29 19:51:53 MST 2004
I face some problem
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
from twisted.internet import defer, reactor
from twisted.web import resource, server
import os, sys
class FileDownloadResource(resource.Resource):
isLeaf = 1
fName = 'very big file size'
path = 'some_path'
def render(self, request):
d = True
if d:
d = "attachment"
else:
d = "inline"
request.setHeader("Content-type", "application/x-msdownload");
request.setHeader("Content-Disposition", d + "; filename=" + self.fName);
request.setHeader("Content-Length", ' ' +
str(self.getFileSize(self.path + self.fName)));
request.setHeader("Content-Transfer-Encoding", "binary");
request.setHeader("Pragma", "no-cache");
request.setHeader("Expires", "0");
# print "entered render"
d = defer.Deferred()
d.addCallback(self.printResult, request)
d.addErrback(self.printError, request)
return server.NOT_DONE_YET
def printError(failure, request):
request.write(str(failure))
request.finish()
def printResult(self, request):
for line in open(self.path + self.fName, 'r'):
request.write(line)
request.finish()
def getFileSize(self, file):
size = os.path.getsize(file)
return size
resource = FileDownloadResource()
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
I don't know what am i doing
please give any hint
More information about the Twisted-web
mailing list