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

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

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

js:

复制代码
//读取文本文件实例
var fileBox = document.getElementById('file');
function showFiles() {
    //获取选择文件的数组
    var fileList = fileBox.files;
    for (var i = 0; i < fileList.length; i++) {
        var file = fileList[i];
        readFile(file);
    }
}
//读取文件内容
function readFile(file) {
    var reader = new FileReader();
    //中文windows系统 txt 文本多数默认编码 gbk
    reader.readAsText(file, 'gbk');
    reader.onload = function (e) {
        var result = reader.result;
        $('.container blockquote').text(result);
    }
}
复制代码

二、读取或预览客户图片

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

JS:

复制代码
//读取图片实例
var fileBox = document.getElementById('file');
function showFiles() {
    //获取选择文件的数组
    var fileList = fileBox.files;
    for (var i = 0; i < fileList.length; i++) {
        var file = fileList[i];
        //图片类型验证第二种方式
        if (/image\/\w+/.test(file.type))
            readFile(file);
        else
            console.log(file.name + ':不是图片');
    }
}
//读取图片内容 为DataURL
//reader.readAsDataURL
function readFile(file) {
    var reader = new FileReader();
    reader.readAsDataURL(file);
    reader.onload = function (e) {
        var result = reader.result;
        $('.container blockquote').text(result);
        $('#img1').attr('src', result)
    }
}
复制代码
 
posted @   天马3798  阅读(3398)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2015-09-04 解决Android AVD启动报错问题
2015-09-04 AVD启动不了 ANDROID_SDK_HOME is defined but could not find *.ini
2014-09-04 Controller返回值类型ActionResult
点击右上角即可分享
微信分享提示