为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript~文件下载的几种方式

标签:
AngularJS

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博客作者爱笑嘚蛋蛋的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消