gpt4 book ai didi

python - 使用 Python 上传文件

转载 作者:太空狗 更新时间:2023-10-29 20:52:29 25 4
gpt4 key购买 nike

我有一个 HTML 表单,我正在使用 Python 根据输入生成一个日志文件。如果用户愿意,我还希望能够允许他们上传图片。一旦它存在,我就可以弄清楚如何使用 Python 对其进行操作,但我不确定如何上传图像。这肯定是以前做过的,但我很难找到任何例子。你们中有人能指出我正确的方向吗?

基本上,我使用 cgi.FieldStoragecsv.writer 来制作日志。我想从用户的计算机获取图像,然后将其保存到我的服务器上的目录中。然后我将重命名它并将标题附加到 CSV 文件。

我知道有很多选择。我只是不知道它们是什么。如果有人可以指导我获取一些资源,我将不胜感激。

最佳答案

既然你说过你的特定应用程序是与 python cgi 模块一起使用的,那么快速谷歌一下就会找到很多例子。这是第一个:

Minimal http upload cgi (Python recipe) (截图)

def save_uploaded_file (form_field, upload_dir):
"""This saves a file uploaded by an HTML form.
The form_field is the name of the file input field from the form.
For example, the following form_field would be "file_1":
<input name="file_1" type="file">
The upload_dir is the directory where the file will be written.
If no file was uploaded or if the field does not exist then
this does nothing.
"""
form = cgi.FieldStorage()
if not form.has_key(form_field): return
fileitem = form[form_field]
if not fileitem.file: return
fout = file (os.path.join(upload_dir, fileitem.filename), 'wb')
while 1:
chunk = fileitem.file.read(100000)
if not chunk: break
fout.write (chunk)
fout.close()

此代码将抓取文件输入字段,这将是一个类文件对象。然后它将逐 block 读取到输出文件中。

2015 年 4 月 12 日更新:根据评论,我已将更新添加到这个旧的 activestate 片段中:

import shutil

def save_uploaded_file (form_field, upload_dir):
form = cgi.FieldStorage()
if not form.has_key(form_field): return
fileitem = form[form_field]
if not fileitem.file: return

outpath = os.path.join(upload_dir, fileitem.filename)

with open(outpath, 'wb') as fout:
shutil.copyfileobj(fileitem.file, fout, 100000)

关于python - 使用 Python 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12166158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com