python - flask / python 。从上传的文件中获取 mimetype

标签 python webforms flask

我正在使用 Flask 微框架 0.6 和 Python 2.6

我需要从上传的文件中获取 mimetype,以便存储它。

这是相关的 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> 


该代码有效,但我需要在上传时能够获取 mimetype。我在这里查看了 Flask 文档:http://flask.pocoo.org/docs/api/#incoming-request-data
所以我知道它确实得到了 mimetype,但我不知道如何检索它——作为文本字符串,例如'txt/纯文本'。

有什么想法吗?

谢谢。

最佳答案

来自docsfile.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'))

关于python - flask / python 。从上传的文件中获取 mimetype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3447883/

相关文章:

python - Flask python断言错误: unimplemented method 'GET'

python - 通过Django应用程序中的音频标签播放音频

c# - 尝试查看数据时出现数据库错误

php - 对于包含每个用户必须填写的大量复选框的表单,我应该使用什么数据库结构?

asp.net-mvc - SEO 和迁移到 ASP.Net MVC

python - Flask/Mongo/Jinja - 切片 ListField 并显示数据库的最后条目

python - MySQL、SQLAlchemy、Flask 和 Flask.ext.script 的问题 — create_all() 不创建表

python - 简单机器学习模型训练返回Nan

python - 如何对这样的列表进行排序?

python - 如何在 Python 中定义具有默认参数值和可选参数的函数?