从web2py中的服务器下载文件

时间:2012-07-02 08:30:47

标签: python web2py

我目前正在建立一个网站,我从中获取用户上传的文件,对其进行一些处理,并提供用户从中下载处理过的文件的链接。我现在想在我的本地系统上提供该文件的路径,我是web2py的新手,并且我很难做到这一点。

有人可以帮我这么做吗?

此致

1 个答案:

答案 0 :(得分:0)

请参阅此链接以获取一些提示:webpy: how to stream files,并且可能会添加以下代码:

BUF_SIZE = 262144
class download:
    def GET(self):
        file_name = # get from url
        file_path = os.path.join('/path to your file', file_name)
        f = None
        try:
            f = open(file_path, "rb")
            webpy.header('Content-Type','application/octet-stream')
            webpy.header('Content-disposition', 'attachment; filename=%s' % file_name)
            while True:
                c = f.read(BUF_SIZE)
                if c:
                    yield c
                else:
                    break
        except Exception, e:
            # throw 403 or 500 or just leave it
            pass
        finally:
            if f:
                f.close()