2014-08-29 52 views
1

我想用Django下载一个文件,并首先检查一些权限(如果用户在线,如果用户拥有该文件等),这样他们就不能用链接本身下载它。我知道HttpResponse,我想在视图上实现它。下载具有权限的文件

这可能吗?谢谢。

+0

看一看:http://racingtadpole.com/blog/private-媒体与 - Django的/ – danihp 2014-08-29 11:38:21

回答

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)