Skip to content

文件类 - ikFile

关于处理文件的一些常用方法

导入方式

import { ikFile } from 'iking-utils'

base64ToBlob

将base64字符串转换为Blob对象。

script
base64ToBlob(base64Buf: string): Blob

参数说明

参数值类型参数值说明
base64Bufstringbase64字符串

示例

vue
const url = 
  'https://img1.baidu.com/it/u=2572736565,1960070214&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1692982800&t=f054811fe940766bdead39aadca2a43a'
const base64Str = await ikFile.urlToBase64(url, 'image/jpeg')
const blob = ikFile.base64ToBlob(base64Str)

urlToBase64

将url转换成base64字符串。

script
urlToBase64(url: string, mineType?: string): Promise<string>

参数说明

参数值类型参数值说明
urlstringurl地址
mineTypestringMIME 类型

示例

vue
const url = 'https://img1.baidu.com/it/u=2572736565,1960070214&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1692982800&t=f054811fe940766bdead39aadca2a43a'
  const base64Url = await ikFile.urlToBase64(url, 'image/jpeg')

downloadByOnlineUrl

从在线URL下载文件

script
downloadByOnlineUrl(url: string, filename: string, mime?: string, bom?: BlobPart)

参数说明

参数值类型参数值说明
urlstringurl地址
filenamestring下载的文件名
mimestring文件的mime类型
bomBlobPart文件的BlobPart`BlobPart = BufferSource

示例

vue
const url = 
  'https://img1.baidu.com/it/u=2572736565,1960070214&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1692982800&t=f054811fe940766bdead39aadca2a43a'
const base64Url = await ikFile.urlToBase64(url, 'image/jpeg')
const blob = ikFile.base64ToBlob(base64Url)
ikFile.downloadByOnlineUrl(url, 'headerUrl.jpeg', 'image/jpeg', blob)

ik_file_onlineDownLoad.png

downloadByBase64

下载基于base64的文件

script
downloadByBase64(buf: string, filename: string, mime?: string, bom?: BlobPart)

参数说明

参数值类型参数值说明
bufstring文件的base64表示
filenamestring下载的文件名
mimestring文件的mime类型
bomBlobPart文件的BlobPart`BlobPart = BufferSource

示例

vue
const url = 
  'https://img1.baidu.com/it/u=2572736565,1960070214&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1692982800&t=f054811fe940766bdead39aadca2a43a'
const base64Url = await ikFile.urlToBase64(url, 'image/jpeg')
const blob = ikFile.base64ToBlob(base64Url)
ikFile.downloadByBase64(base64Url, 'header2.jpeg', 'image/jpeg', blob)

ik_file_base64down.png

downloadByData

使用文件的数据下载文件。

script
downloadByData(data: BlobPart, filename: string, mime?: string, bom?: BlobPart)

参数说明

参数值类型参数值说明
dataBlobPart文件的BlobPart `BlobPart = BufferSource
filenamestring下载的文件名
mimestring文件的mime类型
bomBlobPart文件的BlobPart `BlobPart = BufferSource

示例

vue
const url = 
  'https://img1.baidu.com/it/u=2572736565,1960070214&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1692982800&t=f054811fe940766bdead39aadca2a43a'
const base64Url = await ikFile.urlToBase64(url, 'image/jpeg')
const blob = ikFile.base64ToBlob(base64Url)
ikFile.downloadByData(blob, 'header2.jpeg', 'image/jpeg', blob)

ik_file_base64down.png

downloadByUrl

用于从给定URL下载文件。

script
downloadByUrl({
  url,
  target = '_blank',
  fileName,
}: {
  url: string;
  target?: TargetContext;
  fileName?: string;
}): boolean

参数说明

参数值类型参数值说明
urlstringurl地址
targetTargetContext表示打开文件的目标上下文的字符串。默认值为'_blank',表示在新选项卡或窗口中打开文件
fileNamestring表示要下载的文件名的字符串

示例

vue
const url = 
  'https://img1.baidu.com/it/u=2572736565,1960070214&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1692982800&t=f054811fe940766bdead39aadca2a43a'
const bool = ikFile.downloadByUrl(url, '_blank', '1.jpeg')

resizeImage

  1. 调整图像文件到指定的宽度和高度。
  2. 如果只提供宽度,高度将自动调整以保持长宽比。
  3. 如果宽度和高度都设置为0,图像将被调整大小以适应400px的宽度。
script
resizeImage(file: File, width = 400, height = 0, cb: Function)

参数说明

参数值类型参数值说明
fileFile要调整大小的图像文件
widthNumber调整大小的图像的所需宽度。默认值是400。
heightNumber调整大小的图像的期望高度。默认为0。
cbFunction在图像调整大小后执行的回调函数

示例

script
const imageInput = document.getElementById('imageInput');

// 事件侦听器,用于选择图像时
imageInput.addEventListener('change', (event) => {
  const file = event.target.files[0];

  // 使用文件和所需的尺寸调用resizeImage函数
  ikFile.resizeImage(file, 300, 200, (resizedFile) => {
    console.log(resizedFile);
  });
});

isMacOSWebView

检查当前环境是否是macOS web视图。

示例

script
  ikFile.isMacOSWebView
  <!-- conosle.log(ikFile.isMacOSWebView) false -->

saveAs

用于将blob(二进制大对象)保存为文件。

script
saveAs(blob: BlobPart & any, name: string, opts?: any, popup?: any)

参数说明

参数值类型参数值说明
blobBlobPart参数表示需要保存为文件的blob对象 `BlobPart = BufferSource
namestring参数表示要保存的文件名。如果没有提供,它将默认为blob或'download'的名称。
optsany参数是一个可选参数,可用于指定保存文件的其他选项。
popupany参数是一个可选参数,表示将在其中下载文件的弹出窗口。如果没有提供,将打开一个新的弹出窗口。

示例

script

const url = 
  'https://img1.baidu.com/it/u=2572736565,1960070214&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1692982800&t=f054811fe940766bdead39aadca2a43a'
const base64Url = await ikFile.urlToBase64(url, 'image/jpeg')
const blob = ikFile.base64ToBlob(base64Url)
  ikFile.saveAs(blob, 'ceshi.png');
});

ik_file_saveAs.png