zoukankan      html  css  js  c++  java
  • html_html5增强的文件上传域_FileList对象与File对象

    FileList对象与File对象

    type='file'的input标签都有两个属性:accept属性与multiple属性

    • accept:控制允许上传的文件类型,其属性值为一个或多个MIME类型字符串,多个MIME类型字符串之间用逗号间隔.
      测试accept属性:
    <input type="file" name="" id="file" accept="'image/jpge','image/png'">
    <!--你将只被允许使用这个文件上传域上传jpg格式和png格式的图片.点击后非该格式的文件不会出现在选择框中.-->
    
    • 测试multiple属性:
    <input type="file" name="" id="file" accept="'image/jpge','image/png'" multiple>
    <!--按住ctrl键可以选取多个文件-->
    

    JavaScript可以通过files属性访问type='file'的<input>元素生成的文件上传域内的所有文件,该属性返回一个FileList对象.FileList可以近似看成数组,可以通过files[0],files[1]之类的方式去获取返回对象.

    如图,我是上传了四张图片并获取input元素返回的files属性值得到的.FileList本质是一个对象,包括0,1,2...length等属性.而每个数字属性的值同样是一个File对象,包含有name ypesize等属性(还有其它属性但不重要).
    每个file对象的属性:

    • name:所对应的文件名,不包含文件路径部分.
    • type:所对应文件的MIME类型字符串.
    • size:所对应文件的大小.
    <body>
        <div class="container">
            <div class="card">
                <div class="card-header text-center">
                    <input type="file" name="" id="file1" class="btn btn-info" accept="image/*">
                </div>
                <div class="card-body" id="info">
    
                </div>
                <div class="card-footer">
                    <input type="button" value="点击获取文件信息" class="btn btn-dark btn-outline-light col-4 offset-4"
                        onclick="getFile()">
                </div>
            </div>
        </div>
        <script>
            function getFile() {
                var $ = function (id) {
                    return (document.getElementById(id));
                };
                var fileName = $('file1').files[0].name;
                var fileType = $('file1').files[0].type;
                var fileSize = $('file1').files[0].size;
                $('info').innerHTML =
                    `<strong>文件名称</strong>:${fileName}<hr><strong>文件类型</strong>:${fileType}<hr><strong>文件大小![](https://img2020.cnblogs.com/blog/1677030/202006/1677030-20200625152108513-773320149.png)
    
    </strong>:${fileSize}`;
            }
        </script>
    </body>
    
    • 样式

    不要单靠accept属性来过滤文件夹,因为这只是客户端的文件类型过滤,这种文件类型过滤十分脆弱。开发者需要进行文件上传必须在服务器端对文件类型进行过滤

  • 相关阅读:
    mysql 批量删除process
    python-argparse
    【声纹识别】matlab-辨别男女声
    python @装饰器
    【机器学习】大数定律,中心极限定律 极大似然估计
    【tensorflow】mnist-精简版模型
    Linux 的内存分页管理
    Python-内建函数
    Python-各种结构解析以及生成器(列表解析,字典解析,集合解析,元组构成的生成器)
    Python-模块之时间模块(time,datetime)
  • 原文地址:https://www.cnblogs.com/Syinho/p/13191880.html
Copyright © 2011-2022 走看看