3

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ファイルであるアップロードファイルに書きたいと思います。何か考えはありますか?

前もって感謝します。

4

2 に答える 2

6

ファイルの内容をディスクに保存できるオブジェクトのsave()メソッドがありFileStorageます。

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

フラスコのドキュメント: http://werkzeug.pocoo.org/docs/datastructures/#werkzeug.datastructures.FileStorage.save

便利なチュートリアル: http://flask.pocoo.org/docs/patterns/fileuploads/

于 2013-04-21T16:06:27.410 に答える
1

まず、アップロードフォルダーを構成する必要があります

app.config['UPLOAD_FOLDER'] = PATH_TO_UPLOAD_FOLDER

次に、ファイルを保存します

f = request.files["file"]
f.save(os.path.join(app.config['UPLOAD_FOLDER'], 'tmp.png'))
于 2013-04-21T16:06:39.583 に答える