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);
}
})
}
本文地址:https://blog.csdn.net/chengxue_123/article/details/112799033