点击Django提供的文件下载链接可以在Chrome中使用,但不适用于Firefox

时间:2015-01-28 03:03:07

标签: django

如果我点击Chrome中的文件下载链接,该文件会按预期下载。如果我在Firefox中点击它,没有任何反应。但是,如果我右键单击链接并选择"在新标签中打开",则下载正常进行。我不确定为何直接点击该链接直接无法在Firefox中下载该文件。这可能与我的Content-Disposition标题有关吗?

相关的代码段......

    file_location = '/downloads/' + directoryName + '/' + installerVersion + '.' + extension

    try:
        data = open(file_location, 'r').read()
    except IOError:
        return redirect('/error/')

    response = HttpResponse(data, mimetype='application/x-download')
    response['Content-Disposition'] = 'attachment;filename=' + installerVersion + '.' + extension
    return resp

1 个答案:

答案 0 :(得分:0)

事实上,正如上面提到的ruddra,这与有问题的网页通过沙盒iframe.

加载的事实有关。

allow-popups值添加到sandbox属性修复了Firefox中的问题。奇怪的是,这个问题在Chrome或IE中从未存在过,但我认为这与这些浏览器处理iframe的方式有关。