JS验证图片格式和大小并预览

图片上传是js操作中常用到的一部分,因为很长时间没有用js,感觉现在用起来很是生疏,所以在操作图片上传,并显示时遇到了很多的坎,所以记录一下解决的经验吧!
首先,js参考网站,大家应该也是知道的,很实用的,菜鸟教程:https://www.runoob.com/
其次参考代码展示:

    <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
    

    
    
    
    图片效验
    
    
    
    
        
        
//显示图片的div

如果是在chrome(谷歌浏览器)下上传的头像的话,我们查看的起src路径会发现
发现该方法将文件读取为一段以 data: 开头的字符串,像上面描述的一样,正是FileReader中readAsDataURL的作用,下面介绍下FileReader

方法名 参数 描述
abort none 中断读取
readAsBinaryString file 将文件读取为二进制码
readAsDataURL file 将文件读取为 DataURL
readAsText file, [encoding] 将文件读取为文本

readAsText: 该方法有两个参数,其中第二个参数是文本的编码方式,默认值为 UTF-8。这个方法非常容易理解,将文件以文本方式读取,读取的结果即是这个文本文件中的内容。
readAsBinaryString: 它将文件读取为二进制字符串,通常我们将它传送到后端,后端可以通过这段字符串存储文件。
readAsDataURL: 这是例子程序中用到的方法,该方法将文件读取为一段以 data: 开头的字符串,这段字符串的实质就是 Data URI,Data URI是一种将小文件直接嵌入文档的方案。这里的小文件通常是指图像与 html 等格式的文件
FileReader还有以下的事件:

事件 描述
onabort 中断时触发
onerror 出错时触发
onload 文件读取成功完成时触发
onloadend 读取完成触发,无论成功或失败
onloadstart 读取开始时触发
onprogress 读取中

文件一旦开始读取,无论成功或失败,实例的 result 属性都会被填充。如果读取失败,则 result 的值为 null ,否则即是读取的结果,绝大多数的程序都会在成功读取文件的时候,抓取这个值。
参考:https://www.cnblogs.com/wkrbky/p/6243286.html

你可能感兴趣的:(JS)