Flaskマイクロフレームワーク0.6とPython 2.6を使用しています
アップロードされたファイルから MIME タイプを取得して保存する必要があります。
関連する Python/Flask コードは次のとおりです。
@app.route('/upload_file', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
file = request.files['file']
mimetype = #FIXME
if file:
file.save(os.path.join(UPLOAD_FOLDER, 'File-Name')
return redirect(url_for('uploaded_file'))
else:
return redirect(url_for('upload'))
ウェブページのコードは次のとおりです。
<form action="upload_file" method=post enctype=multipart/form-data>
Select file to upload: <input type=file name=file>
<input type=submit value=Upload>
</form>
コードは動作しますが、アップロード時に MIME タイプを取得できる必要があります。ここで Flask のドキュメントを確認しました:http://flask.pocoo.org/docs/api/#受信リクエストデータ
つまり、MIME タイプは取得できるのですが、それをテキスト文字列 (例: 'txt/plain') として取得する方法がわかりません。
何か案は?
ありがとう。
ベストアンサー1
からドキュメント、file.content_type
エンコーディング付きの完全なタイプが含まれ、mimetype
MIME タイプのみが含まれます。
@app.route('/upload_file', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
file = request.files.get('file')
if file:
mimetype = file.content_type
filename = werkzeug.secure_filename(file.filename)
file.save(os.path.join(UPLOAD_FOLDER, filename)
return redirect(url_for('uploaded_file'))
else:
return redirect(url_for('upload'))