继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JavaScript~文件下载的几种方式

holdtom
关注TA
已关注
手记 1885
粉丝 240
获赞 992

1.通过a标签的方式来下载

<a href='' target='_blank'></a>

2.通过提交form表单的方式

var $form = $('<form action="'+url+'" method="post" target="rfFrame"></form>');

angular.forEach(d,function(v,k){

    v = JSON.stringify(v);

    var $input = $('<input type="hidden" name="'+k+'"/>');

    $input.attr('value',v);

    $form.append($input);

});

$element.append($form);

$form.submit();

$form.remove();

3.通过http的请求拿到文件流的方式

$http({

    url : $scope.url,

    method : 'post',

    data : $scope.form.formdata,

    responseType : 'arraybuffer',

}).then(function(d){

    var data = d.data;

    var blob = new Blob([data], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});//xlsx

//var blob = new Blob([data], {type: "application/vnd.ms-excel"});//xls

    var objectUrl = URL.createObjectURL(blob);

    var aForExcel = $("<a><span class='forExcel'>下载excel</span></a>").attr("href",objectUrl);

    $("body").append(aForExcel);

    $(".forExcel").click();

    aForExcel.remove();

});

©著作权归作者所有:来自51CTO博客作者爱笑嘚蛋蛋的原创作品,如需转载,请注明出处,否则将追究法律责任


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP