【问题标题】:How to detect if a FileUpload is an image or video如何检测 FileUpload 是图像还是视频
【发布时间】:2017-07-13 03:35:23
【问题描述】:

我有一个这样的 FileField:

class Post(models.Model):
    file = models.FileField(null=True, blank=True)
    video = models.BooleanField(default=False)

然后,当它经过我的views 时,我就可以查看该对象:

def post(request):
    if request.user.is_authenticated():
        form_post = FileForm(request.POST or None, request.FILES or None)
        if form_post.is_valid():
            instance = form_post.save(commit=False)
            if ?something?:
                instance.video = True
            instance.save()

所以在我看来,是否可以检查 Post.file 是视频还是图像?

【问题讨论】:

  • 通过扩展名检查是否足够,还是要检查文件本身?
  • 如果扩展足以确定它是视频还是图像,那很好
  • 人们可以将任何他们想要的作为扩展名,尽管大多数都会被适当地标记。另一种方法是通过文件检查。
  • 在我的代码中看起来如何?当我在上传时检查文件类型时,我正在查看文件类型

标签: python django file-upload django-models django-views


【解决方案1】:

您可以通过访问视图中文件的 content_type 属性来检查文件的 mime 类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-26
    • 2013-07-11
    • 2013-06-13
    • 1970-01-01
    • 2021-02-09
    • 2020-12-06
    • 1970-01-01
    • 2016-01-03
    相关资源
    最近更新 更多