JavaScript~檔案下載的幾種方式
阿新 • • 發佈:2018-11-20
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(); });