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())
我正在使用文件类型的 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())