Javascript 使用jQueryAjax下载任何文件

Javascript 使用jQueryAjax下载任何文件,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,当我开发一个文件下载api时,我几乎没有任何东西可以让它在html页面中工作。我找了很多。在一些页面中,我发现有人告诉我,使用ajax下载是不可能的。 但我使用ajax使之成为可能。首先将文件转换为base64,然后将这段代码用作中间件,这将创建锚定标记,并在单击时,您的元素将为任何类型的文件(如doc、docx、xls、xlsx、mp3、mp4等)编写工作。。。。。它可以下载任何类型的文件 $(".filled-in").click(function(e) { var _this=$(

当我开发一个文件下载api时,我几乎没有任何东西可以让它在html页面中工作。我找了很多。在一些页面中,我发现有人告诉我,使用ajax下载是不可能的。 但我使用ajax使之成为可能。首先将文件转换为base64,然后将这段代码用作中间件,这将创建锚定标记,并在单击时,您的元素将为任何类型的文件(如doc、docx、xls、xlsx、mp3、mp4等)编写工作。。。。。它可以下载任何类型的文件

$(".filled-in").click(function(e) {
    var _this=$(this);
    $file = $(this).attr('id');
    $.ajax({
        type: "POST",
        url: {!! json_encode(url('/download')) !!}, data: {
            '_token' : $("input[name='_token']").val(),
            'file' : $file
        },
        dataType : "json",
        success : function(json) {
           var element = document.createElement('a');
           var fl='data:' + header_content +';charset=utf-8;base64,' +json.content;
            element.setAttribute('href', fl);
            element.setAttribute('download', $file_org_name);
            element.click();
        }
    });
});
NodeJS

const express=require('express'))
,app=express()
;
app.get('/download/:file*?',(req,res)=>{
//魔力
...
//将用户重定向到文件路径,并让他们下载文件
res.download(`${uuu dirname}/${filePath}`);

});