Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在上载文件夹时限制文件上载_Javascript_Typescript - Fatal编程技术网

Javascript 如何在上载文件夹时限制文件上载

Javascript 如何在上载文件夹时限制文件上载,javascript,typescript,Javascript,Typescript,我允许用户上传文件夹如下 <input type="file" (change)="onFileChanged($event)" webkitdirectory directory multiple/> 有没有直接的方法可以做到这一点,或者我需要遍历每个文件,计算总大小并检查其是否超过?是的,从文件输入中,您需要遍历其所有。文件条目: inp.onchange=e=>{ const total_size=[…inp.files].reduc

我允许用户上传文件夹如下

<input type="file" (change)="onFileChanged($event)" webkitdirectory directory multiple/>

有没有直接的方法可以做到这一点,或者我需要遍历每个文件,计算总大小并检查其是否超过?

是的,从文件输入中,您需要遍历其所有
。文件
条目:

inp.onchange=e=>{
const total_size=[…inp.files].reduce((sum,file)=>(sum+file.size),0);
控制台日志(“总尺寸”、“总尺寸”至本地校准(“en US”)、“b”);
};

事件.target.files
将返回。然后可以使用
Array.from
reduce
来获取每个文件的大小。这是用javascript和html编写的。同样的事情也可以在角度上做

函数文件上传(e){
const sz=Array.from(e.target.files).reduce((acc,curr)=>{
返回acc+=当前大小;
}, 0)
console.log(sz)
}

您可以获取文件的总体大小并阻止上载:

onFileChanged(event): void {
    const overallSize = event.target.files
       .reduce((a, c) => {return (c.size / 1024 / 1024) + a }, 0);
    if (overallSize > 1) // 1 Mb
        alert('File size exceeds 1 MB');
    else {
    }    
}

因此,如果超过了,您希望阻止所有内容,或者您希望尽可能多地填充内容?如果您还没有这样做:服务器也需要限制它,客户端验证只是为了方便用户。
onFileChanged(event): void {
    const overallSize = event.target.files
       .reduce((a, c) => {return (c.size / 1024 / 1024) + a }, 0);
    if (overallSize > 1) // 1 Mb
        alert('File size exceeds 1 MB');
    else {
    }    
}