Javascript HTML5输入类型文件,如何增加可以上传的文件数量?
我正在制作一个表单,用户可以上传文件。唯一的问题是我希望用户能够上传多于1个文件,但少于6个,我如何指定这一点?我知道我可以使用multiple属性,但这允许使用6个以上的属性,这可能会在将来给我带来问题 这就是我到目前为止所做的:Javascript HTML5输入类型文件,如何增加可以上传的文件数量?,javascript,html,reactjs,input,Javascript,Html,Reactjs,Input,我正在制作一个表单,用户可以上传文件。唯一的问题是我希望用户能够上传多于1个文件,但少于6个,我如何指定这一点?我知道我可以使用multiple属性,但这允许使用6个以上的属性,这可能会在将来给我带来问题 这就是我到目前为止所做的: <input type="file" accept=".jpeg, .png, .jpg" multiple id="input-listing-img" /> 是否有方法指定允许x文件量
<input type="file" accept=".jpeg, .png, .jpg" multiple id="input-listing-img" />
是否有方法指定允许x文件量?使用jquery将上载文件限制在6个以下
$("#image").on("change", function() {
if ($("#image")[0].files.length > 6) {
alert("You can select only 6 images");
} else {
$("#imageUploadForm").submit();
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input name="image[]" id="image" type="file" multiple="multiple" accept="image/jpg, image/jpeg, , image/png" >
$(“#图像”)。关于(“更改”,函数(){
if($(“#image”)[0].files.length>6){
警报(“您只能选择6幅图像”);
}否则{
$(“#imageUploadForm”).submit();
}
});
这可能会在客户端限制它,但您应该始终在服务器端再次检查。
注意:我只是以查看上传的文件为例。您可以将其更改为处理文件的PHP脚本
let container=document.querySelector('div#uploads container');
let files_span=document.querySelector('div#uploads container span#files');
让文件=[];
常数最大值=6;
函数getFileInputs()
{
return container.querySelectorAll('input[type=file].input listing img');
}
函数updateFiles()
{
files_span.innerHTML='上载的文件:';
如果(files.length>0)
{
for(设i=0;i
div#上传容器
{
边框:实心3px绿色;
背景:浅绿色;
填充:10px;
边缘底部:10px;
}
div#上传容器>输入[type=file]。输入列表img
{
显示:块;
}
您设置的任何客户端
都可能被滥用/更改,因此您只能指定此限制服务器端
我不这么认为。您可以使用文件系统访问API(),但即使这样,也只允许多个
,尽管我相信您可以更好地定制对话框。可能方法就是告诉用户,他们一开始只能上传<6个文件,然后如果他们上传更多的文件,则显示某种模式。使用@ProfessorAbronsius之类的工具如何检测有多少文件通过客户端发送到服务器?发送的字符串和数据是否会指定某种排序?这取决于用于发送文件的方法的性质。使用此处建议的传统表单方法,服务器将可以访问具有固有长度属性的$\u文件
数组