文件下载方式:通过get和post方式下载

本文介绍两种网页中实现文件下载的方法:一是利用iframe通过GET请求,适用于单个文件下载;二是通过form表单POST请求,适用于多个文件或复杂参数情况。文中提供具体JavaScript代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方式一:使用iframe通过get方式下载

        /**
         * 功能:查看附件
         */
        $("#check-enclosure-button").click(function(){
            var checkedStrategy = $softDistributeTable.bootstrapTable('getSelections');
            var len = checkedStrategy.length;
            
            if(len == 0){
                toastr.error("请选择软件", "错误提示");
            }else if(len > 1){
                toastr.error("一次只能查看一个附件", "错误提示");
            }else if(len == 1){
                var iframe = document.createElement("iframe");
                iframe.style.display = "none"; // 防止影响页面
                iframe.style.height = 0; // 防止影响页面
                iframe.src = '/bmpf/softmng/download_attachment/?policy_id=' + checkedStrategy[0].id; 
                document.body.appendChild(iframe); // 这一行必须,iframe挂在到dom树上才会发请求
                // 5分钟之后删除
                setTimeout(function(){
                    iframe.remove();
                }, 5 * 60 * 1000);
            }
        })

方式二:通过form通过post方式下载

function postExportFile(params, url) {
      const form = document.createElement("form");
      form.style.display = "none";
      form.target = "_blank";
      form.action = url;
      form.method = "post";
      document.body.appendChild(form);
      for (var key in params) {
        var input = document.createElement("input");
        input.type = "hidden";
        input.name = key;
        input.value = params[key];
        form.appendChild(input);
      }

      form.submit();
      form.remove();
}

const data = {
          flag: 1,
          // tokenid: localStorage.getItem("tokenid"),
          username: this.loginName,
          // doc_list: JSON.stringify(doclist),
          // username: this.loginName,
          depth: this.depth,
};

postExportFile(data, "/permtools/api/user/v1/export");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值