【问题标题】:write the uploaded files on the disk将上传的文件写入磁盘
【发布时间】:2011-09-06 16:20:51
【问题描述】:

查看 web.py 的这个页面: http://webpy.org/cookbook/storeupload/ 注意它是如何将文件写入磁盘的。

目前的情况是: 我在 virtualbox 中启动了一个具有 256 mb 内存和 512 交换的服务器。 就在我上传大于 200 mb 的文件时,我收到一个错误(“该页面暂时不可用”)。

我认为python文件写入函数将整个文件读入内存,然后由于内存有限而崩溃。

我说的对吗? 如果有,有什么解决办法吗?

感谢您的宝贵时间。

【问题讨论】:

    标签: nginx web.py


    【解决方案1】:

    尽量不要在内存中读取整个文件,创建一个循环并按 1024 字节块传输文件。

    【讨论】:

      【解决方案2】:

      我认为您已正确设置 nginx,尤其是 client_max_body_size 指令。

      我认为你是对的,你的问题与内存使用不当有关:它可能来自 read() 方法。

      不带大小参数使用时,将读取并返回文件的全部内容。由于该文件几乎与机器内存一样大,因此程序用完并崩溃。

      你应该做的是investigate on better ways to copy a file in Python

      【讨论】:

        猜你喜欢
        • 2015-03-13
        • 2012-08-18
        • 1970-01-01
        • 2012-11-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-27
        相关资源
        最近更新 更多