最近在写后台的过程中考虑到给用户添加预览效果,增加用户体验,尤其是图片和视频,后台传来的就直接用就可以预览了,但用户上传时的文件怎么获取本地文件并预览呢?
首先那些/C/......之类的都是本地的假地址,没法直接访问打开,(emm我想可能是因为用户协议之类的没法直接获取本地数据来用),那就需要一些方法来获取本地文件的可操作地址。
1.首先html先创建一个input框接收文件
<input type="file">
2.然后js获取,并监听当input框内填入文件时响应,然后创建正则函数(后面用),创建filereader对象用来获取文件对象并读取,然后获取文件的地址基于b64,这里用正则表达式区分一下视频文件和图形文件,图像文件直接传就行,视频文件需要转为aBlob对象再创建个新的filereader对象再传入,不然可能会报错
Uncaught DOMException: Failed to execute 'readAsDataURL' on 'FileReader': The object is already busy reading Blobs.
(如果直接加的话会报这个错,我也不知道为啥QWQ,回去研究一手)
var input = document.querySelectorAll('input[type=file]')
inp