JS判断文件类型,dicom文件格式判断

上代码

根据文件名.后的字母来判断

 (fileName) => {
        return fileName.substr(fileName.lastIndexOf(".") + 1).toLowerCase();
 },

当然也可以写正则

if(!(file.type.indexOf('image')==0 && file.type && /\.(?:jpg|png|gif)$/.test(file.name)) ){  
        alert('图片只能是jpg,gif,png');  
        return ;  
    }  

判断dicom文件

dicom文件是医学的一种文件格式,这里提供一种格式判断方法

     (file) => {
  return new Promise((resolve, reject) => {
      let str = "";
      let reader = new FileReader();
      reader.readAsArrayBuffer(file);
      reader.onloadend = () => {
          let buffer = reader.result;
          if (buffer.byteLength < 133){
              reject();
          } else {
              let view = new Uint8Array(buffer, 128, 4);
              for (let i = 0; i

},

FileReader是W3C提供的一个读取文件的类

它有4种方法可以读取文件

1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。
2.readAsBinaryString(file):将文件读取为二进制字符串
3.readAsDataURL(file):将文件读取为Data URL
4.readAsText(file, [encoding]):将文件读取为文本,encoding缺省值为'UTF-8'

此外,abort()方法可以停止读取文件。

FileReader对象在读取文件后,还需要进行处理。为了不阻塞当前线程,API采用了事件模型,可以注册这些事件:

1.onabort:中断时触发
2.onerror:出错时触发
3.onload:文件成功读取完毕时触发
4.onloadend:文件读取完毕时触发,无论是否失败
5.onloadstart:文件开始读取时触发
6.onprogress:当文件读取时,周期性地触发

你可能感兴趣的:(JS判断文件类型,dicom文件格式判断)