1

我正在使用带有 mod_wsgi 的 apache 开发 Pylons 1.0 项目。需要它来处理大型 POST 和 GET 请求。对于 GET 请求,我可以只获取数据源(通常是磁盘上的文件)并读取它并交给 Pylons 层以将数据流回给用户。我也知道我可以使用带有 urllib2 的 mmap 将数据请求流式传输到其他服务。

但是,对于我的服务的 POST 请求,我如何将请求流式传输到磁盘,以免在有人上传大文件时压倒我的内存使用量?我看到 req.body_file 可能表明 Pylons 已经在为我执行此操作。有谁知道是不是这样?

4

1 回答 1

1

Pylons 使用WebOb 项目来提供请求和响应对象,它可以有效地处理文件上传。

内部文件上传处理实际上委托给 python stdlibcgi模块,它使用临时文件来处理上传。

归根结底,这也是由于底层的WSGI 标准,它指定请求输入是一个流。

于 2012-09-12T11:49:41.450 回答