minio-kit
v1.0.16
Published
minio-vite
Downloads
5
Readme
version: 1.0.15
import MinioUtils from "./utils/minioSdkUtils";
import MinioPreSignUtils from "./utils/minioPreSignUtils";
import Thumbor from "thumbor";
import ImgThumb from "./utils/imgThumb";
import {uuid} from "./utils/uuid";
export { MinioUtils,MinioPreSignUtils ,ImgThumb,Thumbor,uuid}
minioSdk ,需要配置endPoint,port,useSSL,bucketName,accessKey,secretKey,在前端使用不是很安全�,建议使用MinioPreSignUtils工具类
/**
* @param minioConfig:object minio配置
* endPoint
* port
* useSSL
* bucketName
* accessKey
* secretKey
*
* @param saveConfig:object 存储配置
* saveConfig 描述
* 字段 类型 默认值 描述
* basePath string assets 基础路径 /[basePath]/[filename].[fileType]
* rename boolean false 是否重命名 /[basePath]/[filename].[fileType]
* datePath boolean false 时间文件存储 /[basePath]/YYYY-MM-DD/[filename].[fileType]
*
*/
constructor(minioConfig, saveConfig)
/**
* 文件上传
* @param fileObj:File 文件File
* @param saveConfig
*/
upload(fileObj, saveConfig)
/**
* 删除文件
* @param relativePath
* @param option 删除文件配置 { versionId }
*/
remove(relativePath,{})
minioPreSignUtils minio预签名,来上传文件
/**
* @param getProSignFun:Function-获取签名的请求函数,函数返回Promise
* @param saveConfig:{ basePath:string-系统名 业务名 模块名 , isMd5:boolean-是否开启文件加密}
*/
constructor(getProSignFun, saveConfig = { basePath: "default", isMd5: true }) {
this.getProSignFun = getProSignFun;
this.saveConfig = saveConfig;
}
/**
* axios上传File
* @param preSignData:{ formData:object - 预签名参数, etag:String - 文件md5值, postURL:String - 上传地址 }
* @param file 文件
* @param key 上传路径 /[系统名或业务名]/y/m/d/h/[file.name]
* @return Promise
*/
axiosUpFile(preSignData, file, key)
/**
* 文件上传
* @param file File文件
* @param privateSaveConfig 私有的saveconfig
* @return {Promise<unknown>}
*/
upload(file, privateSaveConfig = {})
图片裁剪类,ImgThumb是基于Thumbor 封装的
/**
* 配置信息
* @param thumbConfig:{ securityKey:string, serverUrl:string , bucketName:string}
*/
constructor(thumbConfig) {
this.thumbConfig = thumbConfig;
this.myThumbObj = null;
}
/**
* 裁剪图片
* @param relativePath 图片相对路径
* @param sizes 剪裁尺寸 支持数组[w,h]和字符串 'wxh'
* @param filters 过滤器 :旋转:rotate(90) 0-360 ,质量:'quality(90)' 0-100 ['quality(90)','rotate(90)']
*/
crop(relativePath, sizes, filters)