H5 读取文件流

 代码:

<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<head>
<meta charset="utf-8">
  <title>文件读取</title>
  <style>
    div {
     margin-top: 30px;
     border: solid 1px black;
     padding: 5px;
    }
  </style>
  <script>
    function processFiles(files) {
      var file = files[0];

      var message = document.getElementById("message");
      message.innerHTML = "文件名:" + file.name + "<br>";
      message.innerHTML += "文件大小:" + file.size + "字节<br>";
      message.innerHTML += "文件类型:" + file.type + "<br>";
      
  
      var type = getFileName(file.name);
      console.log(type);
      var reader = new FileReader();

      /*
         第一种:读取文本文件,显示
      */
      if(type == "txt" || type == "md" || type == "pdf" || type == "ppt" || type == "html" || type == "doc"
       || type == "docx" || type == "wps"){
      reader.onload = function (e) {
        // 这个事件发生,意为着数据准备好了
        // 把它复制到页面的<div>元素中
        var output = document.getElementById("fileOutput");  
        output.textContent = e.target.result;
      };
      reader.readAsText(file,"utf-8");   //处理文本内容
    }
      /*
          第二种:读取图像文件,显示
      */
      if (type == "png" || type == "jpg" || type == "bmp" || type == "gif" || type == "jpeg" || type == "tiff" ) {
       reader.onload = function(e) {
           var output = document.getElementById("fileOutput");  
           output.innerHTML = '<img style="padding: 0 10px;" width="400px" src="'+ this.result +'" alt="'+ file.name +'" />';
        };
        //读取文件内容
        reader.readAsDataURL(file);
    }
}

   function getFileName(fileName){//通过第一种方式获取文件名
      var pos=fileName.lastIndexOf(".");//查找最后一个\的位置
      return fileName.substring(pos+1); //截取最后一个\位置到字符长度,也就是截取文件名 
   }
  </script>
</head>
<body>
  <input id="fileInput" type="file" size="50" οnchange="processFiles(this.files)">
  <div id="message"></div>
  <div id="fileOutput"></div>
</body>
</html>

截图:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潇潇雨歇_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值