http文件上传到磁盘

http file upload to disk

我正在使用文件类型的 HTML 输入将文件上传到我自己的服务器。在服务器上的 Python 脚本中,我可以接收文件及其元数据(如文件名和类型)作为 FieldStorage 对象。

我已将该对象的字段打印到 HTML 页面以查看它们包含的内容。当我让它打印文件名、类型和文件(转换为字符串)时,我得到:

Filename: Lighthouse.jpg Type: image/jpeg File: <open file '<fdopen>', mode 'w+b' at 0x04403578>

我假设0x04403578是文件在服务器内存中的地址。但是 mode 'w+b' 是什么意思呢?如果我必须支持任意文件类型,如何通过 Python 将该文件保存到磁盘?

File 只是一个打开的文件对象,就像您从 open 中获得的一样。 <fdopen>表示它是从一个文件描述符转换过来的。 w+b表示以二进制方式开放读写。

您可以像普通文件一样编写它,即

w = open('<filename>','w+b')
w.write(f.read())