在打开 filefield(contains mp4 video) url 时,它拒绝访问它。但只有视频而不是图像等其他类型
on opening filefield(contains mp4 video) url , it denies access to it. but only videos not other types like image
我在 django rest 框架中获取请求 returns 一个 url 包含一个文件(mp4 视频)但是当我打开 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()
最后 urls
urlpatterns = [
path('videos', VideosView.as_view(), name='videos')
]
当我调用请求时,它给了我 url 并且工作正常。但是当我打开 url link
它拒绝访问并出现 403 forbbiden 错误,我没有使用任何身份验证或用户。因为我只想给 url.i 不需要身份验证 类 。
正如我之前所说,这发生在 cpanel 主机上,我没有部署在本地主机上。
而且它恰好发生在像 mp4 format.it 这样的视频文件上,在图像或 pdf 或其他任何东西上都可以正常工作。
有人可以帮我解决这个问题吗?
我想这是因为内容类型或媒体类型,但我不知道如何解决它。
好的各位阅读本文的人 post 我自己发现了这个问题并想与大家分享。问题是 cpanel 主机中的 mime 类型和权限。您必须设置 mime 类型和权限才能允许播放视频。
我在 django rest 框架中获取请求 returns 一个 url 包含一个文件(mp4 视频)但是当我打开 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()
最后 urls
urlpatterns = [
path('videos', VideosView.as_view(), name='videos')
]
当我调用请求时,它给了我 url 并且工作正常。但是当我打开 url link 它拒绝访问并出现 403 forbbiden 错误,我没有使用任何身份验证或用户。因为我只想给 url.i 不需要身份验证 类 。 正如我之前所说,这发生在 cpanel 主机上,我没有部署在本地主机上。 而且它恰好发生在像 mp4 format.it 这样的视频文件上,在图像或 pdf 或其他任何东西上都可以正常工作。
有人可以帮我解决这个问题吗? 我想这是因为内容类型或媒体类型,但我不知道如何解决它。
好的各位阅读本文的人 post 我自己发现了这个问题并想与大家分享。问题是 cpanel 主机中的 mime 类型和权限。您必须设置 mime 类型和权限才能允许播放视频。