设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 168|回复: 14

Html读取本地文件夹下图片并显示的示例代码

[复制链接]

2

主题

51

回帖

147

积分

注册会员

积分
147
发表于 2024-4-20 10:33:26 | 显示全部楼层 |阅读模式
一 目的

在Html上选择本地文件夹,自动读取文件夹及子文件夹下的所有图片并显示在页面。
技术分析:
存在问题
       
  • Html中file标签获取到的路径时相对的。   
  • Html中Img指定源时需要的是绝对路径。
解决方法:
调用Web API接口FileReader中readAsDataURL方法读取数据(这个函数参数file标签获取到的文件路径),然后把数据加载到FileReader中(base64格式),之后就可以用Img来指定源时base64格式的数据,可以绘制图片。
二 代码
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>ReadImageDemo</title>
  5. </head>
  6. <body>
  7.     <input type="file" id="selectFiles" onchange="dealSelectFiles()" multiple webkitdirectory>
  8.     <canvas id="myCanvas" width=1440 height=900></canvas>

  9.     <script type="text/javascript">
  10.         var imgPosX = 0;
  11.         var imgWidth = 256;
  12.         function dealSelectFiles(){
  13.             /// get select files.
  14.             var selectFiles = document.getElementById("selectFiles").files;

  15.             for(var file of selectFiles){
  16.                 console.log(file.webkitRelativePath);
  17.                 /// read file content.
  18.                 var reader = new FileReader();
  19.                 reader.readAsDataURL(file);
  20.                 reader.onloadend = function(){
  21.                     /// deal data.
  22.                     var img = new Image();
  23.                     /// after loader, result storage the file content result.
  24.                     img.src = this.result;  
  25.                     img.onload = function(){
  26.                         var myCanvas = document.getElementById("myCanvas");
  27.                         var cxt = myCanvas.getContext('2d');
  28.                         cxt.drawImage(img, imgPosX, 0);
  29.                         imgPosX += imgWidth;
  30.                     }
  31.                 }
  32.             }
  33.         }
  34.     </script>
  35. </body>
  36. </html>
复制代码
三 效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:0
  • 打卡总奖励:20
  • 最近打卡:2024-04-19 21:31:53

1

主题

46

回帖

138

积分

注册会员

积分
138
发表于 2024-4-23 09:42:07 | 显示全部楼层
好用好用

2

主题

52

回帖

150

积分

注册会员

积分
150
发表于 2024-5-6 22:08:59 | 显示全部楼层
让我们一起努力

1

主题

59

回帖

141

积分

注册会员

积分
141
发表于 2024-5-17 00:54:31 | 显示全部楼层
666666666666

0

主题

56

回帖

111

积分

注册会员

积分
111
发表于 2024-5-18 12:36:23 | 显示全部楼层
能给个链接吗?我想深入了解一下。

0

主题

67

回帖

135

积分

注册会员

积分
135
发表于 2024-6-12 23:02:21 | 显示全部楼层
谢谢你的提醒,我会注意的。

4

主题

49

回帖

148

积分

注册会员

积分
148
发表于 2024-6-14 16:06:43 | 显示全部楼层
看了LZ的帖子,我只想说一句很好很强大!
  • 打卡等级:偶尔看看
  • 打卡总天数:13
  • 打卡月天数:0
  • 打卡总奖励:196
  • 最近打卡:2024-10-06 16:06:35

3

主题

14

回帖

296

积分

中级会员

积分
296

热心会员付费会员

发表于 2024-6-20 13:16:15 | 显示全部楼层
666666666666

1

主题

55

回帖

133

积分

注册会员

积分
133
发表于 2024-6-27 10:22:34 | 显示全部楼层
我不太确定,可能需要再确认一下。

0

主题

43

回帖

87

积分

注册会员

积分
87
发表于 2024-7-19 14:05:41 | 显示全部楼层
非常感谢你的观点,让我受益良多!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-15 16:23 , Processed in 0.127803 second(s), 28 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表