JS文件操作介绍
本文将介绍前端浏览器支持的JS文件操作技术。相关权威技术资料
带有 type="file" 的 <input> 元素允许用户可以从他们的设备中选择一个或多个文件。<input type="file"> - HTML(超文本标记语言) | MDN
FileReader 是HTML5新增的,其中FileReader API负责读取文件内容,FileSystem API负责本地文件系统的有限操作。FileReader - Web API 接口参考 | MDN
Node.js 中的文件系统,功能强大,Node.js是服务端网页编程技术,需要安装,在此也不涉及,可参见其官网的相关部分File system | Node.js v19.2.0 Documentation
Node.js 提供额外的 API 用于支持在无浏览器环境中有用的功能,例如,创建 HTTP 服务器并访问文件系统,但不支持 DOM。
【特别提醒新手注意,ActiveXObject对象和FileSystemObject 对象仅在IE浏览器中实现文件的操作功能,微软已于2021年停止支持IE浏览器,本文也不再涉及这些淘汰技术】
显示图片方面的应用
HTML页面显示图片比较简单,html显示图片的基本方法:使用img标签,语法“<img src="图片文件地址" /> ”;
使用img标签插入图片
在HTML中,可以使用img 元素向网页中嵌入一幅图像。示例源码如下:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<title> 测试</title>
</head>
<body>
<img src="./雪.png" width="250"/>
</body>
</html>
保存文件名为:图片.html,用浏览器打开显示效果如下:
这样的方法,图片不能更换,如何由用户打开对话框选定定呢?这就需要JS文件操作技术了。
带有 type="file" 的 <input> 元素允许用户可以从他们的设备中选择文件。示例源码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>files-h5</title>
</head>
<body>
<input type="file" id="file" onchange="showPreview(this, 'portrait')" />
<img src="" id="portrait" style="width: 200px; display: block;" />
<script>
function showPreview(source, imgId) {
var file = source.files[0];
if(window.FileReader) {
var fr = new FileReader();
fr.onloadend = function(e) {
document.getElementById(imgId).src = e.target.result;
}
fr.readAsDataURL(file);
}
}
</script>
</body>
</html>
保存文件名为:选定显示图片.html,用浏览器打开显示效果如下:
待续