HTML5 文件域+FileReader 读取文件(二)

不念不忘少年蓝@ 2024-02-18 21:23 114阅读 0赞

#

一、读取文本文件内容,指定字符编码

复制代码

  1. <div class="container">
  2. <!--文本文件验证-->
  3. <input type="file" id="file" multiple accept="text/plain" />
  4. <input type="button" id="btn1" value="读取文件内容" onclick="showFiles();" />
  5. <h4>选择文件如下:</h4>
  6. <blockquote></blockquote>
  7. </div>

复制代码

js:

复制代码

  1. //读取文本文件实例
  2. var fileBox = document.getElementById('file');
  3. function showFiles() {
  4. //获取选择文件的数组
  5. var fileList = fileBox.files;
  6. for (var i = 0; i < fileList.length; i++) {
  7. var file = fileList[i];
  8. readFile(file);
  9. }
  10. }
  11. //读取文件内容
  12. function readFile(file) {
  13. var reader = new FileReader();
  14. //中文windows系统 txt 文本多数默认编码 gbk
  15. reader.readAsText(file, 'gbk');
  16. reader.onload = function (e) {
  17. var result = reader.result;
  18. $('.container blockquote').text(result);
  19. }
  20. }

复制代码

二、读取或预览客户图片

复制代码

  1. <div class="container">
  2. <!--图片类型验证方法1-->
  3. <input type="file" id="file" multiple accept="image/*" />
  4. <input type="button" id="btn1" value="选择上传文件" onclick="showFiles();" />
  5. <h4>选择文件如下:</h4>
  6. <img src="" id="img1" />
  7. </div>

复制代码

JS:

复制代码

  1. //读取图片实例
  2. var fileBox = document.getElementById('file');
  3. function showFiles() {
  4. //获取选择文件的数组
  5. var fileList = fileBox.files;
  6. for (var i = 0; i < fileList.length; i++) {
  7. var file = fileList[i];
  8. //图片类型验证第二种方式
  9. if (/image\/\w+/.test(file.type))
  10. readFile(file);
  11. else
  12. console.log(file.name + ':不是图片');
  13. }
  14. }
  15. //读取图片内容 为DataURL
  16. //reader.readAsDataURL
  17. function readFile(file) {
  18. var reader = new FileReader();
  19. reader.readAsDataURL(file);
  20. reader.onload = function (e) {
  21. var result = reader.result;
  22. $('.container blockquote').text(result);
  23. $('#img1').attr('src', result)
  24. }
  25. }

复制代码

发表评论

表情:
评论列表 (有 0 条评论,114人围观)

还没有评论,来说两句吧...

相关阅读