如何从客户端烧瓶将png文件写入目标目录

时间:2013-04-21 15:23:44

标签: python flask

我想从request.form [“file”]写入文件,但我不能这样做。

我的contact.html就在这里。

客户端代码就是这样......

<form action="contact" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="submit">
</form>

服务器端就像这样

filestorage = request.files["file"]

print type(_file) #-> <FileStorage: u"__proto.png" ("img/png")>

# I tried below this , but it doesn't work.

f = open("tmp.png","wb")
f.write(filestorage)

我想把这个png文件写到某处的上传文件中。你有什么主意吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

您拥有save()对象的FileStorage方法,可以将文件内容保存到磁盘:

file.save('/path/to/your/file')

Flask文档:http://werkzeug.pocoo.org/docs/datastructures/#werkzeug.datastructures.FileStorage.save

有用的教程:http://flask.pocoo.org/docs/patterns/fileuploads/

答案 1 :(得分:1)

首先,您必须配置上传文件夹

app.config['UPLOAD_FOLDER'] = PATH_TO_UPLOAD_FOLDER

然后保存您的文件

f = request.files["file"]
f.save(os.path.join(app.config['UPLOAD_FOLDER'], 'tmp.png'))