Flask / Python。アップロードされたファイルからMIMEタイプを取得する質問する

Flask / Python。アップロードされたファイルからMIMEタイプを取得する質問する

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エンコーディング付きの完全なタイプが含まれ、mimetypeMIME タイプのみが含まれます。

@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'))

おすすめ記事