input[type=file] 获取上传文件的内容

本文介绍了如何使用HTML和JavaScript监听input元素的文件选择事件,获取上传文件的名称及通过不同方式读取文件内容,包括DataURL、BinaryString和Text。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上代码:

<input type="file" name="file" id="fileUpload">

jquery:

   $("#fileUpload").change(function () {
        console.log($("#fileUpload")[0].files);
    });

打印结果:
在这里插入图片描述


input file 读取文件内容

<!DOCTYPE html>
<html lang="en">
<head>
    <title></title>
    <script src="js/jquery.min.js" type="text/javascript"></script>  
    <script type="text/javascript">        
        if(typeof FileReader == "undified") {
            alert("您老的浏览器不行了!");
        }
        function showDataByURL() {
            var resultFile = document.getElementById("fileDemo").files[0];
            if (resultFile) {
                var reader = new FileReader();                
                reader.readAsDataURL(resultFile);
                reader.onload = function (e) {
                    var urlData = this.result;
                    document.getElementById("result").innerHTML += "<img src='" + urlData + "' alt='" + resultFile.name + "' />";
                }; 

            }

        } 
        function showDataByBinaryString() {
              var resultFile = document.getElementById("fileDemo").files[0];
            if (resultFile) {
                var reader = new FileReader();
                //异步方式,不会影响主线程
                reader.readAsBinaryString(resultFile);

                reader.onload = function(e) {
                    var urlData = this.result;
                    document.getElementById("result").innerHTML += urlData;
                };
            }
        }
        function showDataByText() {
            var resultFile = document.getElementById("fileDemo").files[0];
            if (resultFile) {
                var reader = new FileReader();

                reader.readAsText(resultFile,'UTF-8');
                reader.onload = function (e) {
                    var urlData = this.result;
                    document.getElementById("result").innerHTML += urlData;
                };
            }
        }
    </script>
</head>
<body>
    <input type="file" name="fileDemo" id="fileDemo" multep/>
    <input type="button" value="readAsDataURL" id="readAsDataURL" onclick="showDataByURL();"/>
    <input type="button" value="readAsBinaryString"  id="readAsBinaryString" onclick="showDataByBinaryString();"/>
    <input type="button" value="readAsText"  id="readAsText" onclick="showDataByText();"/>
    <div id="result">

    </div>

</body>
</html>

监听input上传文件,获取文件名称

在这里插入图片描述

<div class="import-box pr" >
    <span class="model-address-txt">导入文件:</span>
    <input type="text" class="address-input Js_address-input input-wid" readonly>
    <label class="file-box" for="file">
        <span class="look-file">浏览</span>
        <input id="file" type="file" class="file-input Js_file-input" >
    </label>
</div>
//监听input
$(".Js_file-input").on("change",function (e) {
   var e = e || window.event;
   //获取 文件 个数 取消的时候使用
   var files = e.target.files;
   if(files.length>0){
       // 获取文件名 并显示文件名
       var fileName = files[0].name;
       $(".Js_address-input").val(fileName);
   }else{
       //清空文件名
       $(".Js_address-input").val("");
   }
});

获取event下的targetname值,利用length为判断条件,小伙伴,可以先打印一下看看,这样利于理解,不喜勿喷!谢谢

在HTML中,`<input type="file">` 标签用于创建文件上传控件,用户可以通过这个控件选择本地文件。当用户选择文件后,这个控件会获取文件的路径和一些基本的文件信息。 具体来说,`<input type="file">` 获取的是用户选择的文件对象。这个文件对象包含了以下信息: 1. **文件名称(name)**:文件的名称,包括扩展名。 2. **文件类型(type)**:文件的MIME类型,例如`image/jpeg`、`text/plain`等。 3. **文件大小(size)**:文件的大小,以字节为单位。 4. **文件路径(path)**:文件的本地路径(注意:在现代浏览器中,出于安全考虑,文件的实际路径是不可见的,通常会显示为`C:\fakepath\`路径)。 以下是一个简单的示例代码,展示了如何使用JavaScript获取文件信息: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>File Input Example</title> </head> <body> <input type="file" id="fileInput"> <button onclick="getFileInfo()">Get File Info</button> <script> function getFileInfo() { const fileInput = document.getElementById('fileInput'); const file = fileInput.files[0]; if (file) { console.log('File Name:', file.name); console.log('File Type:', file.type); console.log('File Size:', file.size, 'bytes'); console.log('File Path:', file.path); // 注意:实际路径不可见 } else { console.log('No file selected'); } } </script> </body> </html> ``` 在这个示例中,当用户选择文件并点击按钮时,JavaScript会获取文件的基本信息并在控制台中输出。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值