django中已下载的文件已损坏

时间:2014-03-25 12:27:54

标签: python django

我在views.py文件中写这个函数:

def download(request):

    file = open("D:\wamp\www\User_App.rar","r")
    mimetype = mimetypes.guess_type("D:\wamp\www\User_App.rar")[0]
    if not mimetype: mimetype = "application/octet-stream"

    response = HttpResponse(file.read(), mimetype=mimetype)
    response["Content-Disposition"]= "attachment; filename=%s" % os.path.split("D:\wamp\www\User_App.rar")[1]
    return response

下载文件,但是当下载并打开它时它就会损坏。如何解决这个问题。

1 个答案:

答案 0 :(得分:3)

以二进制模式打开文件:

file = open(r"D:\wamp\www\User_App.rar", "rb")

在文本模式下打开文件意味着行结尾将转换为平台中立的\n字符。