【发布时间】:2017-03-30 14:08:45
【问题描述】:
我在 Django 中有一个 POST 方法的处理程序,它接收上传的文件。我想做的是在继续之前验证该文件是有效的 zip 文件。
所以,我有:
@login_required(login_url="login/")
def upload(request):
if request.method == 'POST' and request.FILES['upload_file']:
uploaded_file = request.FILES['upload_file']
print type(uploaded_file)
return render(request, 'upload.html', {'context': RequestContext(request)})
此时uploaded_file 的类型为<class 'django.core.files.uploadedfile.InMemoryUploadedFile'>。我的问题是验证这是一个有效档案的最佳方法是什么?我需要将它保存到磁盘然后使用zipfile 模块还是有什么方法可以在不写入磁盘的情况下做到这一点?
注意:由于各种不相关的原因,我没有使用带有 FileField 和相应表单的 Django 模型。
【问题讨论】:
-
检查文件扩展名怎么样?
-
不幸的是,我的应用程序无法依赖...