Django HttpResponse返回空Tarfile

时间:2015-07-17 18:15:28

标签: python django httpresponse

我在本地计算机上运行Django服务器,该服务器应允许用户下载包含某种图形文件(.graphml,.gpickle等)的tarfile。

def getResponse( filename ):

    output = tarfile.open('GeneratedGraph.tar.gz', mode='w')
    try:
        output.add(filename)
    except Exception, e:
      logger.warning("Unable to write to tar")
      raise OCPCAError("Unable to write to tar")
    finally:
        output.close()

    response     = HttpResponse(output,'application/x-gzip')
    response['Content-Length'] = os.path.getsize("GeneratedGraph.tar.gz")
    response['Content-Disposition'] = 'attachment; filename="GeneratedGraph.tar.gz"'
    return response

filename是要存储的图形文件名称的字符串。将图形文件存储到.tar文件中工作正常,我已经验证它是准确的。但是,当我实际上将此方法称为要从main方法返回的东西时,我得到一个空的tar文件,比预期的要小得多。我是Django的新手,所以我很抱歉,如果我犯了一个基本错误,但其他问题中收到的例子都不适合我。

0 个答案:

没有答案