20

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


Web ページのコードは次のとおりです。

<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/#incoming-request-data
したがって、MIMEタイプを取得することはわかっていますが、方法がわかりません'txt/plain' などのテキスト文字列として取得します。

何か案は?

ありがとうございました。

4

2 に答える 2

43

docsから、エンコーディング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'))
于 2010-08-10T10:41:02.567 に答える