23 lines
495 B
TypeScript
23 lines
495 B
TypeScript
import Compressor from 'compressorjs';
|
|
|
|
export const createImageURL = (file: File) => URL.createObjectURL(file);
|
|
|
|
export async function compressImage(file: File) {
|
|
return new Promise<File | Blob>((resolve, reject) => {
|
|
if (!file) {
|
|
reject();
|
|
return;
|
|
}
|
|
new Compressor(file, {
|
|
quality: 0.8,
|
|
error(error) {
|
|
console.error(error);
|
|
reject(error);
|
|
},
|
|
success(result) {
|
|
resolve(result);
|
|
}
|
|
});
|
|
}).catch(() => file);
|
|
}
|