Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为django中的视频、音频和图像文件生成URL_Django_File_Media - Fatal编程技术网

为django中的视频、音频和图像文件生成URL

为django中的视频、音频和图像文件生成URL,django,file,media,Django,File,Media,我正在开发一个网站,用户可以上传他们的图片,音频和视频。所有用户都可以看到其他用户上传的文件。现在我不希望任何用户下载其他用户上传的文件。如何在不允许任何用户下载任何文件的情况下安全地在网页上显示文件?我建议通过视图管理媒体请求 @login_required def getmedia(request, media_id): media = get_object_or_404(Media, pk=media_id) if media.owner != request.user:

我正在开发一个网站,用户可以上传他们的图片,音频和视频。所有用户都可以看到其他用户上传的文件。现在我不希望任何用户下载其他用户上传的文件。如何在不允许任何用户下载任何文件的情况下安全地在网页上显示文件?

我建议通过视图管理媒体请求

@login_required
def getmedia(request, media_id):
    media = get_object_or_404(Media, pk=media_id)
    if media.owner != request.user:
        #Handle user not owning the media
        HttpResposeRedirect("/404")
    # Handle users owning the media

您不能将其设置为不可下载,因为web浏览器必须下载它才能呈现页面,并且一旦下载完毕,最终用户可以做任何他们喜欢的事情


你能做的唯一一件事就是将它完全包装在一个Flash控件中(即电影实际上是一个SWF文件),但这仍然不能阻止人们下载它;这只会使他们下载的内容变得不那么有用。

我想这样做。假设我的文件位于“/site\u media/static/images/myimg.jpg”,但我希望url类似于/kjashaJKSHA,我的图像无法下载。哦,我明白了。如果你要向所有其他用户显示媒体,我认为你不能阻止他们通过任何传统方式下载。我想另一种方法是生成所有其他用户都能看到的“预览”。图像的缩略图、视频的一些屏幕截图等。