文件类 - ikFile
关于处理文件的一些常用方法
导入方式
import { ikFile } from 'iking-utils'
base64ToBlob
将base64字符串转换为Blob对象。
script
base64ToBlob(base64Buf: string): Blob
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
base64Buf | string | base64字符串 |
示例
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>
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
url | string | url地址 |
mineType | string | MIME 类型 |
示例
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)
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
url | string | url地址 |
filename | string | 下载的文件名 |
mime | string | 文件的mime类型 |
bom | BlobPart | 文件的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)
downloadByBase64
下载基于base64的文件
script
downloadByBase64(buf: string, filename: string, mime?: string, bom?: BlobPart)
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
buf | string | 文件的base64表示 |
filename | string | 下载的文件名 |
mime | string | 文件的mime类型 |
bom | BlobPart | 文件的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)
downloadByData
使用文件的数据下载文件。
script
downloadByData(data: BlobPart, filename: string, mime?: string, bom?: BlobPart)
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
data | BlobPart | 文件的BlobPart `BlobPart = BufferSource |
filename | string | 下载的文件名 |
mime | string | 文件的mime类型 |
bom | BlobPart | 文件的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)
downloadByUrl
用于从给定URL下载文件。
script
downloadByUrl({
url,
target = '_blank',
fileName,
}: {
url: string;
target?: TargetContext;
fileName?: string;
}): boolean
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
url | string | url地址 |
target | TargetContext | 表示打开文件的目标上下文的字符串。默认值为'_blank',表示在新选项卡或窗口中打开文件 |
fileName | string | 表示要下载的文件名的字符串 |
示例
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
- 调整图像文件到指定的宽度和高度。
- 如果只提供宽度,高度将自动调整以保持长宽比。
- 如果宽度和高度都设置为0,图像将被调整大小以适应400px的宽度。
script
resizeImage(file: File, width = 400, height = 0, cb: Function)
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
file | File | 要调整大小的图像文件 |
width | Number | 调整大小的图像的所需宽度。默认值是400。 |
height | Number | 调整大小的图像的期望高度。默认为0。 |
cb | Function | 在图像调整大小后执行的回调函数 |
示例
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)
参数说明
参数值 | 类型 | 参数值说明 |
---|---|---|
blob | BlobPart | 参数表示需要保存为文件的blob对象 `BlobPart = BufferSource |
name | string | 参数表示要保存的文件名。如果没有提供,它将默认为blob或'download'的名称。 |
opts | any | 参数是一个可选参数,可用于指定保存文件的其他选项。 |
popup | any | 参数是一个可选参数,表示将在其中下载文件的弹出窗口。如果没有提供,将打开一个新的弹出窗口。 |
示例
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');
});