【发布时间】:2017-06-21 03:24:55
【问题描述】:
我有一段代码为我处理文件上传,理想情况下我只想接受文本文件(csv、制表符分隔文件等)所以我添加了这段代码:
mimetype = magic.from_buffer(request.FILES['docfile'].read(512), mime=True)
if form.is_valid() and mimetype == 'text/plain':
....
最近我的一个用户尝试上传一个文本文件,但系统拒绝了它,该文件的 mime 是:
file --mime-type -b input_file.txt
application/octet-stream
当然,之前上传的所有文件都是文本/纯文本。这两者有什么区别?是否有更“全局”的方式来检查文件是否为文本文件?
【问题讨论】: