下载具有权限的文件

时间:2014-08-29 11:34:34

标签: python django

我想用Django下载一个文件并首先检查一些权限(如果用户在线,如果用户拥有该文件等),那么他们就无法使用链接本身下载它。

我知道HttpResponse,我想在视图上实现它。

这可能吗?感谢。

1 个答案:

答案 0 :(得分:1)

您可以在视图中检查权限或所需内容,然后使用下一个代码在视图中返回文件:

import mimetypes
import urllib2

def download_view(request, path):
    # Check everything you need to check
    ...

    # Return file
    file_name = urllib2.unquote(path).encode('utf8')
    file_obj = open(file_name, "r")
    m = mimetypes.guess_type(content_path)[0]
    return HttpResponse(file_obj, content_type=m)