使用formdata下载文件

接口返回的数据是直接的二进制文件,使用ajax没有办法直接进行下载,所以使用form表单的submit向接口发请求
function formDownload(url,data){
    var form = $("<form method='post' style='display:none;'></form>"),
        input;
    if(url == ""){
        Popup.closeDragBox();
        Popup.msg({message: '请配置下载地址!', type: 'info', duration: 3000});
        return
    }
    form.attr({"action": url});
    $.each(data, function (key, value) {
        input = $("<input type='hidden'>");
        input.attr({"name": key});
        input.val(value);
        form.append(input);
    });
    form.appendTo(document.body);
    try{
        form.submit();

    }catch(e){
        Popup.msg({message:e.toString(), type: 'info', duration: 3000});
    }
    document.body.removeChild(form[0]);
    Popup.closeDragBox();
}
posted @ 2022-09-20 08:31  拎着红杯子的黄鸭子  Views(221)  Comments(0Edit  收藏  举报