python 和 angularjs 文件下载

python and angularjs file download

当用户单击 UI 上的下载按钮时,我想下载共享中的文件。它适用于 <1gb 数据。但是大文件,它失败了。它没有给出任何错误,但我可以看到 chrome 左下角的微调器在 1gb 后停止下载。 这是我的 python 代码

filename = os.path.basename(pathToFile)
        chunk_size = 8192
        content_type = mime.from_file(pathToFile)
        response = StreamingHttpResponse(FileWrapper(open(pathToFile), chunk_size),
                                         content_type=content_type)
        response['Content-Length'] = os.path.getsize(pathToFile)
        response['Content-Disposition'] = 'attachment; filename="%s"' % filename

这是javascript代码

 $scope.downloadFile = function(path) {
      return "/download_file?file=" + encodeURIComponent("somePath");

有什么建议吗?

我通过将以下参数添加到我的 nginx.conf 文件中解决了这个问题。

location /<Your download api path> {           
        uwsgi_pass django;
        uwsgi_read_timeout 300s;

        uwsgi_buffering off;
        proxy_set_header Connection '';
        proxy_http_version 1.1;
        chunked_transfer_encoding on;
        proxy_cache off;

    }