【发布时间】:2011-05-02 03:58:13
【问题描述】:
我在上传文件时遇到问题。我在 Apache2 (unix) 上使用 FastCGI 来运行符合 WSGI 的应用程序。以图像形式上传的文件开始保存在 MySQL 数据库中。但是,较大的图像被截断为 65535 字节。据我所知,不应该限制文件的大小,而且我不确定我的解决方案中的哪一个部分会导致问题。
是 FastCGI;它可以限制文件上传大小吗?
是 Python 吗? cgi.FieldStorage 对象为我提供了上传文件的文件句柄,然后我读取:file.read()。这会以任何方式限制文件大小吗?
是 MySQL 吗?保存图像数据的列类型为longblob。我认为这可以存储几 GB 的数据。所以几MB应该不是问题吧?
是flups WSGIServer吗?我找不到有关此的任何信息。
我的文件系统绝对可以处理大文件,所以这不是问题。有什么想法吗?
UPDATE:
这是 MySQL。我让 python 输出上传的字节数,它大于 65535。所以我查看了 max_allowed_packet 的 mysqld 并将其设置为 128M。矫枉过正,但暂时想确定一下。
我现在唯一的问题是让 python 的MySQLdb 允许传输超过 65535 个字节。有谁知道如何做到这一点?可能会作为一个单独的问题发布。
【问题讨论】:
标签: python mysql file-upload apache2 fastcgi