如何解决在打开filefield包含mp4视频url时,它拒绝访问它但仅视频而不是其他类型的图像
我在django rest框架中的get请求返回一个包含文件(mp4视频)的url,但是当我打开该url时它拒绝访问。但是只有具有视频的文件没有其他类型的图像或任何文件(我的api已部署)在cpanel主机上)。但为什么?我该如何解决?)
这是我的代码:
models.py
class Videos(models.Model):
title = models.CharField(max_length=100,null=True)
video = models.FileField(upload_to='videos',null=True)
我在这里创建了一个文件字段,并以django admin上传了mp4格式的视频
serializers.py
class VideosSerializer(serializers.ModelSerializer):
class Meta:
model = Videos
fields = ('id','title','video')
这是我的观点:
views.py
from rest_framework.generics import ListAPIView
from rest_framework.permissions import AllowAny
from .serializers import VideosSerializer
from .models import Videos
class VideosView(ListAPIView):
permission_classes = (AllowAny,)
serializer_class = VideosSerializer
queryset = Videos.objects.all()
以及最后的网址
urlpatterns = [
path('videos',VideosView.as_view(),name='videos')
]
当我调用请求时,它给了我url并且工作正常。但是当我打开网址链接时 它拒绝访问并显示403 forbbiden错误,并且我未使用任何身份验证或用户。因为我只想提供url.i不需要认证类。 正如我之前所说的那样,我在cpanel主机上没有部署在本地主机上。 碰巧是mp4格式的视频文件。它在图像或pdf或其他格式上也能正常工作。
有人可以帮我解决这个问题吗? 我想是因为内容类型或媒体类型,但是我不知道如何解决它。
解决方法
对于正在阅读本文的任何人,我已经发现了自己的问题,并希望与您分享。问题是cpanel主机中的mime类型和权限。您必须设置mime类型和权限,才能允许视频。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。