优化裁剪OSS上传

This commit is contained in:
zjl 2024-12-23 12:57:05 +08:00
parent 976e035a72
commit 2f48077624

View File

@ -173,6 +173,9 @@
ZoomOutOutlined,
} from '@ant-design/icons-vue';
/**
* 定义接收参数
*/
const props = defineProps({
title: { type: String, default: '图片上传' },
circled: { type: Boolean, default: false },
@ -193,6 +196,9 @@
let scaleX = 1;
let scaleY = 1;
/**
* 定义模态
*/
const [modalRegister, { openModal, closeModal, setSubLoading }] = useModal({
title: props.title,
width: 800,
@ -201,7 +207,10 @@
//
}
//
/**
* 上传图片
* @param file 文件
*/
const beforeUpload = async (file) => {
const reader = new FileReader();
reader.readAsDataURL(file);
@ -214,6 +223,10 @@
return false;
};
/**
* 执行裁剪
* @param param0 参数
*/
function handleCropend({ imgBase64 }: CropendResult) {
previewSource.value = imgBase64;
}
@ -232,16 +245,20 @@
cropper?.value?.[event]?.(arg);
}
/**
* 执行上传
*/
async function handleOk() {
if (!src.value) {
setSubLoading(false);
return message.error('请先上传图片');
}
const uploadApi = props.uploadApi;
const name = props.name
const name = props.name;
const file = base64ToFile(previewSource.value, filename);
//
//
if (uploadApi && isFunction(uploadApi)) {
//
try {
setSubLoading(true);
const formData = new FormData();
@ -254,10 +271,11 @@
setSubLoading(false);
}
} else {
//oss
actionFiles(file)
// OSS
actionFiles(file);
}
}
/**
* 阿里云OSS上传
* @param fileChild 参数
@ -317,6 +335,10 @@
setSubLoading(false);
}
};
/**
* 执行关闭
*/
function handleClose() {
src.value = '';
previewSource.value = '';