是否需要通过角度处理强制下载响应才能工作? (从角度$ http.post调用请求下载)

时间:2017-01-30 16:53:02

标签: angularjs django http http-headers

在将AngularJS添加到我的前端之前,我可以轻松地从我的Django服务器下载zip文件:

def myZipDownloadingView(request):
    downloadableZip = open('myZip.zip','r')
    response = HttpResponse(downloadableZip, content_type='application/force-download')
    response['Content-Disposition'] = 'attachment; filename="myZip.zip"'
    return response

现在,Angular会调用此视图,请求下载,浏览器不再下载该文件。我的angular $ http.post()调用是否需要处理从视图发送的响应?这不能简单地用于:

$http.post("myZipDownloadingView");

1 个答案:

答案 0 :(得分:1)

如果您在action中提供method<form>,并且不拦截表单提交事件(ng-submit)或提交按钮事件(ng-click )表单将通过默认浏览器进程提交。

由于它是强制下载,因此当前页面的状态

内不会发生任何其他变化