+
95
-

回答

通过file.size获取文件大小,然后foreach目录文件,获取总大小,具体代码如下

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>BFW NEW PAGE</title>
<script id="bfwone" data="dep=jquery.17&err=0" type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/bfwone.js"></script>
<script type="text/javascript">
function getFileSize(fileByte) {
var fileSizeByte = fileByte;
var fileSizeMsg = "";
if (fileSizeByte < 1048576) fileSizeMsg = (fileSizeByte / 1024).toFixed(2) + "KB";
else if (fileSizeByte == 1048576) fileSizeMsg = "1MB";
else if (fileSizeByte > 1048576 && fileSizeByte < 1073741824) fileSizeMsg = (fileSizeByte / (1024 * 1024)).toFixed(2) + "MB";
else if (fileSizeByte > 1048576 && fileSizeByte == 1073741824) fileSizeMsg = "1GB";
else if (fileSizeByte > 1073741824 && fileSizeByte < 1099511627776) fileSizeMsg = (fileSizeByte / (1024 * 1024 * 1024)).toFixed(2) + "GB";
else fileSizeMsg = "文件超过1TB";
return fileSizeMsg;
}

var files = [];
var totalsize = 0;
bready(function() {
$("#uploadfolder").change(function() {
for (var i = 0; i < this.files.length; i++) {
totalsize += this.files[i].size;


}
files = this.files;
alert("总共上传文件夹大小"+getFileSize(totalsize));
totalsize = 0;
});

$("#upload-btn").click(function() {

var fd = new FormData();

console.log(files);

for (var i = 0; i < files.length; i++) {
totalsize += files[i].size;
fd.append("file", files[i]);

}


$.ajax({
type: 'POST',
url: "/FolderUpload",
data: fd,
cache: false,
processData: false,
contentType: false,
dataType: 'json',

success: function (ret) {},
complete: function(XMLHttpRequest, textStatus) {}
});

});
});
</script>
<style>
</style>
</head>
<body>


<input type='file' id="uploadfolder" name="file" webkitdirectory />

<button id="upload-btn">上传文件夹</button>


</body>
</html>


网友回复

我知道答案,我要回答