辅助工具 
| 函数名 | 描述 | 类型 | 参数 | 返回值 | 
|---|---|---|---|---|
| isClient | 是否浏览器环境 | boolean | - | Boolean | 
| fileToBase64 | 文件对象 File 转换为 base64 | (file:File) => base64 | (file:文件对象) | Base64 | 
| formDataToJson | FormData 转换为json | (data:FormData) => Json | (data:表单数据) | Json | 
| dataURLtoBlob | Base64 转换 Blob | (dataUrl:string) => Blob | (dataUrl:Base64) | Blob | 
| blobToFile | Blob 转 File | (blob:Blob,fileName:string) => File | (blob:Blob,fileName:文件名称) | File | 
示例 
在控制台查看效果
<template>
  <div>
    <XAction label="isClient" type="primary" @click="onClick"></XAction>
    <XAction
      label="fileToBase64"
      type="primary"
      @click="onClickFileToBase64"></XAction>
    <XAction
      label="formDataToJson"
      type="success"
      @click="onClickFormDataToJson"></XAction>
    <XAction
      label="dataURLtoBlob"
      type="warning"
      @click="onClickDataURLtoBlob"></XAction>
    <XAction
      label="blobToFile"
      type="danger"
      @click="onClickBlobToFile"></XAction>
  </div>
</template>
<script setup lang="ts">
  import { XAction } from '@vtj/ui';
  import {
    isClient,
    fileToBase64,
    formDataToJson,
    dataURLtoBlob,
    blobToFile
  } from '@vtj/utils';
  const onClick = () => {
    console.log('isClient', isClient);
  };
  const onClickFileToBase64 = async () => {
    const file = new File(['foo'], 'foo.txt', {
      type: 'text/plain'
    });
    const FileToBase64 = await fileToBase64(file);
    console.log('FileToBase64', FileToBase64);
    // FileToBase64 data:text/plain;base64,Zm9v
  };
  const onClickFormDataToJson = async () => {
    const formData = new FormData(); // 当前为空
    formData.append('username', 'admin');
    const FormDataToJson = formDataToJson(formData);
    console.log('FormDataToJson', FormDataToJson);
    // FormDataToJson {username: 'admin'}
  };
  const onClickDataURLtoBlob = () => {
    const imgUrl =
      'data:image/gif;base64,R0lGODlhAwADAIAAAP///8zMzCH5BAAAAAAALAAAAAADAAMAAAIEBHIJBQA7';
    const DataURLtoBlob = dataURLtoBlob(imgUrl);
    console.log('DataURLtoBlob', DataURLtoBlob);
    // DataURLtoBlob Blob {size: 45, type: 'image/gif'}
  };
  const onClickBlobToFile = () => {
    const blobParts = ['<q id="a"><span id="b">hey!</span></q>']; // 一个包含单个字符串的数组
    const blob = new Blob(blobParts, { type: 'text/html' }); // 得到 blob
    const BlobToFile = blobToFile(blob, 'vtj.text');
    console.log('BlobToFile', BlobToFile);
    // DataURLtoBlob => Blob对象
  };
</script>
<style scoped></style>isClient 
是否浏览器环境
js
  import {isClient} from '@vtj/utils';
  const onClick = () => {
    console.log('isClient', isClient);
    // isClient true or false
  };fileToBase64 
文件对象 File 转换为 base64
js
  import { fileToBase64 } from '@vtj/utils';  
  const onClickFileToBase64 = async () => {
    const file = new File(['foo'], 'foo.txt', {
      type: 'text/plain'
    });
    const FileToBase64 = await fileToBase64(file);
    console.log('FileToBase64', FileToBase64);
    // FileToBase64 data:text/plain;base64,Zm9v
  };formDataToJson 
FormData 转换为json
js
  import { formDataToJson } from '@vtj/utils';  
  const onClickFormDataToJson = async () => {
    const formData = new FormData(); // 当前为空
    formData.append('username', 'admin');
    const FormDataToJson = formDataToJson(formData);
    console.log('FormDataToJson', FormDataToJson);
    // FormDataToJson {username: 'admin'}
  };dataURLtoBlob 
Base64 转换 Blob
js
  import { dataURLtoBlob } from '@vtj/utils';  
  const onClickDataURLtoBlob = () => {
    const imgUrl =
      'data:image/gif;base64,R0lGODlhAwADAIAAAP///8zMzCH5BAAAAAAALAAAAAADAAMAAAIEBHIJBQA7';
    const DataURLtoBlob = dataURLtoBlob(imgUrl);
    console.log('DataURLtoBlob', DataURLtoBlob);
    // DataURLtoBlob Blob {size: 45, type: 'image/gif'}
  };blobToFile 
Blob 转 File
js
  import { blobToFile } from '@vtj/utils';  
  const onClickBlobToFile = () => {
    const blobParts = ['<q id="a"><span id="b">hey!</span></q>']; // 一个包含单个字符串的数组
    const blob = new Blob(blobParts, { type: 'text/html' }); // 得到 blob
    const BlobToFile = blobToFile(blob, 'vtj.html');
    console.log('BlobToFile', BlobToFile);
    // DataURLtoBlob => Blob对象
  };