查看web.py的这个页面: http://webpy.org/cookbook/storeupload/ 注意它如何在磁盘上写文件。
目前的情况是: 我在virtualbox中启动了一个具有256 MB内存和512交换的服务器。 就在我上传大于200 mb的文件时,我收到一个错误(“该页面暂时不可用”)。
我认为python文件写入函数会将整个文件读入内存,然后由于内存有限而崩溃。
我是对的吗? 如果是的话,有什么解决方案吗?
感谢您的时间。
答案 0 :(得分:0)
我认为你已经正确设置了 nginx ,尤其是client_max_body_size
指令。
我认为你是对的,你的问题与内存使用不良有关:它可能来自read()
方法。
在没有size参数的情况下使用,将读取并返回文件的全部内容。由于该文件几乎与机器的内存一样大,程序会耗尽并崩溃。
答案 1 :(得分:0)
尽量不要读取内存中的整个文件,创建一个循环并将文件传输1024个字节的块。