如何下载excel文件

时间:2018-05-16 11:02:24

标签: javascript python ajax django

我正在使用GUI,其中有一个按钮。单击按钮时,会发生一个ajax调用,它会在Django的view.py中向后端返回一个JSON。在JSON的基础上,我正在创建一个excel文件,并将此文件的路径返回到发生ajax调用的位置。我希望点击同一个按钮下载该文件。

即,是否可以通过单击该按钮进行所有这些操作(从ajax调用下载excel文件)?

edit

Path表示文件系统的物理路径。

1 个答案:

答案 0 :(得分:0)

是的,可以这样做。只需确保文件是从STATIC_URL位置提供的(默认情况下为' static'文件夹)。在views.py中,

def download(request):
    # /static/ is your STATIC_URL in settings
    file_path = "/static/xxxx.txt" # file path
    return JsonResponse({"file_path": file_path})

在你的ajax代码中,

xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.status == 200) {
      window.location = this.file_path;
    }
};
xhttp.open("GET", "/download", true);
xhttp.send();