アップロードしたファイルの合計サイズを計算してから、それを10から減らす必要があります(合計利用可能な制限は10MBのみです)。ファイルをアップロード/追加するたびに残りの領域からそれを減らす必要があります。 初期値は10 MBです。 3MBのファイルを1つ、残りの7MBをアップロードしました。今度は4MBの別のファイルですので、残りは3MBです。ファイルサイズ合計と更新カウンタ
質問:アップロード中にファイルアップロードボタンを無効にすることはできますか?ファイルがアップロードされている場合でも、無効にして、すべてのファイルのアップロードが完了したときにのみファイルを追加できます。
$(document).ready(function(){
$("#addFile").click(function() {
$("#my_file").click();
});
$("#my_file").change(function(e) {
var files = e.target.files;
for (var i = 0, f; f = files[i]; i++) {
ParseFile(f);
}
function ParseFile(file) {
var filename = file.name.replace(/\..+$/, '');
var filesize = file.size/1024;
filesize = (Math.round((filesize/1024) * 100)/100);
var filetype = file.type.split('/').pop().toUpperCase();
if (filetype == 'PDF' || filetype == 'JPEG' || filetype == 'JPG' || filetype == 'PNG') {
$("#filedetails").append("<tr><td><strong>" + filename + "</strong></td><td>" + filesize + " MB</td><td>" + filetype + "</td><td><a href='#'>Delete</td></tr>");
}
else {
alert('Only JPG, PDF n PNG files are allowed to upload.');
}
}
});
});
<!doctype html>
<html>
<head>
<title>File Upload</title>
<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
<script src="fileupload.js"></script>
</head>
<body>
<input type="button" value="Add File(s)" id="addFile">
<input type="file" id="my_file" style="display:none;" multiple="multiple" accept="image/png, image/jpg, image/jpeg, application/pdf">
<table cellspacing="0" cellpadding="0" width="100%" border="1">
<thead>
<tr>
<th>Name</th>
<th>Size</th>
<th>Type</th>
<th></th>
</thead>
<tbody id="filedetails"></tbody>
</table>
<div id="totalsize">Total Uploaded File Size(s): </div>
</body>
</html>
が、私はその既存のファイルを削除し、次回以降のファイルを選択していた場合 –
私はすでに –
を追加され、それらのファイルを削除したくないしかし、あなたは別のファイルを選択した場合、以前の意志入力から削除され、送信されません。そのサイズを表示するだけの場合は、選択したすべてのファイルを記憶するアレイを追加する必要があり、すべての変更がリフレッシュされます。 – jacqbus