Я искал этот topi c в stackoverflow, но не нашел ответа, который подходит для моей настройки. У меня есть следующий код для изменения размера изображений из полей входного файла. Я хочу заменить значения полей новыми изображениями с измененным размером, прежде чем загружать их.
Utils.resizeImageUpload=(image, func) => {
Resizer.imageFileResizer(
image,
50,
50,
'PNG',
50,
0,
uri => {
func(image, Utils.dataURLtoFile(uri, image.name));
},
'base64'
);
}
Utils.dataURLtoFile = (dataurl, filename) => {
let arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {type:mime});
}
Resizer - от react-image-file-resizer. Как я уже сказал, я хочу изменить поля входного файла новыми объектами File. Ниже приводится ловушка, которую я намеревался использовать.
Utils.resizeImageUpload(filesToUpload[0],
(img, resizedImg) => {
// I want to replace the input file field's value here
// resizedImg is a File object too
});
filesToUpload - это массив объектов File из поля входного файла.
Пожалуйста, помогите и дайте мне несколько советов.