Skip to content
此页的目录大纲

文件数据处理

在各种业务场景中,可能会用到的文件数据处理

判断文件大小

用于判断文件大小是否在指定的范围内

javascript
import { isFileSize } from "js-fast-way"

isFileSize(1024, 1) // true

byte 必传参数

  • 类型: Number
  • 说明: 文件字节

size 必传参数

  • 类型: Number
  • 说明: 文件兆数,单位M

返回内容

  • 类型: Boolean
  • 返回值:true | false

base64转成文件

javascript
import { base64ToFile } from "js-fast-way"

const fileBase64 = '文件base64数据'

const blob = base64ToFile(fileBase64)

//封装为formData进行请求
let formData = new FormData();
formData.append("file", blob);

console.log(formData)

base64 必传参数

  • 类型: String
  • 说明: base64内容

type 非必传

  • 类型: String
  • 默认值: image/jpeg
  • 说明: 文件类型

name 非必传

  • 类型: String
  • 默认值: 当前时间戳
  • 说明: 文件名称

suffix 非必传

  • 类型: String
  • 默认值: jpg
  • 说明: 文件后缀

返回内容

  • 类型: File
  • 返回值:文件对象

下载Blob文件

javascript
import { downloadBlob } from "js-fast-way"

//此headers只是模拟,实际使用时,需要从接口响应的headers中获取
const headers = {
  'content-disposition': 'attachment;filename=文件名称.xlsx'
}

downloadBlob('文件数据', headers['content-disposition'])

data 必传参数

  • 类型: -
  • 说明: 文件内容

disposition 必传参数

  • 类型: String
  • 说明: 接口响应的headers头,headers['content-disposition']

type 非必传

  • 类型: String
  • 默认值: application/vnd.ms-excel
  • 说明: 文件类型,详情可以参阅blob文件类型

返回内容

  • 如果成功,会直接调用浏览器的下载功能,进行下载

新下载Blob文件

javascript
import { newDownBlob } from "js-fast-way"

//直接下载
newDownBlob('接口响应的原始数据(response)')

//测试下载,此方法函数采用了Promise,可以获得下载结果
const testDownload = async (headers) => {
    const {status, msg} = await newDownBlob('接口响应的原始数据(response)')
    console.log(status) // true / false
}

res 必传参数

  • 类型: -
  • 说明: 接口响应的原始数据(response),需要包含有 data 字段的文件流,以及包含 headers 字段的原始响应数据

type 非必传

  • 类型: String
  • 默认值: ``
  • 说明: 文件类型,详情可以参阅blob文件类型,类似:application/vnd.ms-excel

返回内容

  • 如果成功,会直接调用浏览器的下载功能,进行下载
  • 如果失败,参考测试下载的代码示例

获取文件名

javascript
import { getFileName } from "js-fast-way"

getFileName('xxxx/aaa.jpg') // aaa

name 必传参数

  • 类型: String
  • 说明: 文件路径

返回内容

  • 类型: String

获取后缀名

javascript
import { getFileSuffix } from "js-fast-way"

getFileSuffix('xxxx/aaa.jpg') // jpg

name 必传参数

  • 类型: String
  • 说明: 文件路径

返回内容

  • 类型: String

效验文件格式

javascript
import { isFileFormat } from "js-fast-way"

isFileFormat(文件数据, '.jpg')

file 必传参数

  • 类型: File
  • 说明: 文件数据

accept 必传参数

  • 类型: String
  • 说明: 文件类型格式

返回内容

  • 类型: Boolean

获取文件类型

javascript
import { getFileType } from "js-fast-way"

getFileType('xxxx.jpg') // image

name 必传参数

  • 类型: String
  • 说明: 带后缀的文件名称

typeMap

  • 类型: Object
  • 说明: 文件类型格式
js
//默认的文件类型格式
let typeMap = {
    image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],
    video: ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'],
    music: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],
    zip: ['zip', 'rar', '7z', 'tag', 'gzip'],
    word: ['doc', 'docx'],
    excel: ['xls', 'xlsx'],
    ppt: ['ppt', 'pptx'],
    pdf: ['pdf'],
    text: ['txt'],
}

返回内容

  • 类型: String
  • 返回值:image | video | music | zip | word | excel | ppt | pdf | text | file

获取文件大小的字符串类型

返回计算后的文件大小,单位为KBMBGBTB

javascript
import { filterSize } from "js-fast-way"

filterSize(1024) // 1KB

size 必传参数

  • 类型: Number
  • 说明: 文件字节

返回内容

  • 类型: Boolean
  • 返回值:字符串

Released under the MIT License.