如何获取文件中的数据长度?我需要数据长度以使警报最大化文件
我想通过将警报添加到以下代码来限制图像文件的最大上传量
警报为警报(“您已达到最大上传限制”);因此,当我将一张上传图片添加到指定的数量限制时,会出现警报
我想单击一次上传后获得数据长度,但是数据长度始终为0,为什么?
html
<div class="files col-sm-4" id="files1">
<input type="file" name="files1" id="imageten" multiple />
<br />Selected files:
<ol class="fileList"></ol>
</div>
脚本
$.fn.fileUploader = function (filesToUpload) {
this.closest(".files").change(function (evt) {
for (var i = 0; i < evt.target.files.length; i++) {
filesToUpload.push(evt.target.files[i]);
};
var output = [];
for (var i = 0, f; f = evt.target.files[i]; i++) {
var removeLink = "<i class=\"fa fa-times fa-close removeFile\" href=\"#\" data-fileid=\"" + i + "\"></i>";
output.push("<li><strong>", escape(f.name), "</strong> ", removeLink, " </li> ");
}
$(this).children(".fileList").append(output.join(""));
console.log(evt.target.files);
});
};
var filesToUpload = [];
$(document).on("click",".removeFile", function(e){
e.preventDefault();
var fileName = $(this).parent().children("strong").text();
for(i = 0; i < filesToUpload.length; ++ i){
if(filesToUpload[i].name == fileName){
filesToUpload.splice(i, 1);
console.log(filesToUpload);
}
}
$(this).parent().remove();
});
答案 0 :(得分:1)
您的代码中没有名为data
的变量。我不了解您要返回0
的位置。但是,如果我的猜测是正确的,请在$(document).on("click",".removeFile", function(e){
$(this).children(".fileList").append(output.join(""));
console.log(evt.target.files);
alert(evt.target.files.length); // add this line
答案 1 :(得分:0)
$("#fileinput")[0].files.length
将提供文件数。
if($("#fileinput")[0].files.length > 2) {
alert("You can select only 2 files");
}
让我知道这是否有帮助。
How to limit the maximum files chosen when using multiple file input-在stackoverflow上已经有类似的问题。