jquery中如何获取文件的大小

最近百度了好几种方式都没有效果

针对这种a标签直接open的方式我也是醉了

 

因为要对这个导出文件大小进行限制,当文件大于100mb的时候,就会有提示并且不让下载

对于这种前端计算是很难处理的,解决思路  可以让后台将文件大小(最好封装成一个接口,因为下载文件接口传的是文件流)传给前端,可以这样,下载之前判断一下有没有100M


var maxFileSize="";   //jquery喜欢定义全局变量的方式
$("#reportExportByFilePath").click(function() {
var row = $('#useSituationTable').datagrid('getSelections');
if (row.length < 1) {
return layer.msg('请先勾选需要下载的报告数据!');
}

queryExportFileSize();
});

//查询导出文件的接口
function queryExportFileSize(){
var row = $('#useSituationTable').datagrid('getSelections');
var id = ""
for (var i in row) {
if (i == 0) {
id = row[i].ID;
} else {
id += "," + row[i].ID;
}
}
var url = ServerURL + "/api/processControl/queryExportFileSize";
ajaxPost(url,{id:id},function(res) {
maxFileSize=res.data;
if( maxFileSize/(1024*1024)>10 a0){//如果大于100mb      因为后台传的文件是byte单位     1mb=1024*1024byte
layer.msg('下载的内容过大,请分批导出');
}else {
window.open('/api/processControl/exportWordZipById?id=' + id);
}
})
}

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值