wangeditor上传照片时,怎么设置超过1m的图片自动压缩并上啊,看了文档
应该是在这里设置。但是这个return感觉是个摆设的,一直调用不了
onBeforeUpload(file: File) {
// TS 语法
// onBeforeUpload(file) { // JS 语法
// file 选中的文件,格式如 { key: file }
return file
// 可以 return
// 1. return file 或者 new 一个 file ,接下来将上传
// 2. return false ,不上传这个 file
},
这段是我自己写的,
// onBeforeUpload(file:File) {
// console.log('File object:', file); // 调试信息
// console.log('文件对象类型:', typeof file); // 调试信息
// console.log('文件名:', file.name); // 调试信息
// console.log('文件大小:', file.size / 1024 / 1024 + 'MB'); // 调试信息
// console.log('文件类型:', file.type); // 调试信息
//
// // 动态提取文件数据
// let fileData;
// if (!(file instanceof Blob)) {
// console.warn('文件对象不是 Blob 类型,尝试转换:', file); // 调试信息
//
// const fileKeys = Object.keys(file);
// if (fileKeys.length === 0) {
// console.error('文件对象为空:', file); // 调试信息
// return reject(new Error('文件对象为空'));
// }
//
// // 假设键名是动态生成的,提取第一个键对应的值
// const fileKey = fileKeys[0];
// fileData = file[fileKey];
// if (!fileData) {
// console.error('无法提取文件数据:', file); // 调试信息
// return reject(new Error('无法提取文件数据'));
// }
//
// try {
// // 创建 Blob 对象
// file = new Blob([fileData.data], {type: fileData.type || 'image/jpeg'});
// console.log('转换后的 Blob 对象:', file); // 调试信息
//
// // 验证文件大小是否为0
// if (file.size === 0) {
// console.error('转换后的 Blob 对象大小为0:', file); // 调试信息
// return reject(new Error('转换后的 Blob 对象大小为0'));
// }
// // 确保文件对象具有 name 属性
// if (!file.name) {
// file = new File([fileData.data], fileData.name || 'default.jpg', {type: fileData.type || 'image/jpeg'});
// console.log('添加 name 属性后的 Blob 对象:', file); // 调试信息
// }
// } catch (error) {
// console.error('文件对象转换为 Blob 类型失败:', error); // 调试信息
// return reject(new Error('文件对象转换为 Blob 类型失败'));
// }
// } else {
// fileData = file;
// }
//
// if (!file.type.startsWith('image/')) {
// console.error('文件类型不是图片类型:', file.type); // 调试信息
// return reject(new Error('文件类型不是图片类型'));
// }
// console.log('上传文件:', file); // 调试信息
// console.log('大小:', file.size / 1024 / 1024 + 'MB'); // 调试信息
// console.log('类型:', file.type); // 调试信息
// console.log('文件名:', file.name); // 调试信息
//
// const isLt1M = file.size / 1024 / 1024 < 1; // 判断文件大小是否小于 1MB
// if (isLt1M) {
// console.log('文件大小小于1MB,直接上传:', file); // 调试信息
// return file;
// }
//
// console.log('上传文件:', file); // 调试信息
// console.log('大小:', file.size / 1024 / 1024 + 'MB'); // 调试信息
// console.log('类型:', file.type); // 调试信息
// console.log('文件名:', file.name); // 调试信息
//
//
//
// },