resizing images for sealed channels

This commit is contained in:
Roland Osborne 2023-05-04 10:13:10 -07:00
parent d66b208122
commit 9dda806b23
2 changed files with 19 additions and 3 deletions

View File

@ -67,7 +67,7 @@ export function useAddTopic(contentKey) {
const loadFileData = (file) => { const loadFileData = (file) => {
return new Promise(resolve => { return new Promise(resolve => {
const reader = new FileReader() const reader = new FileReader()
reader.onloadend = (res) => { console.log(reader.result); resolve(reader.result) } reader.onloadend = (res) => { resolve(reader.result) }
reader.readAsArrayBuffer(file) reader.readAsArrayBuffer(file)
}) })
}; };
@ -104,7 +104,8 @@ export function useAddTopic(contentKey) {
const actions = { const actions = {
addImage: async (image) => { addImage: async (image) => {
const asset = await setUrl(image); const scaled = await getResizedImage(image);
const asset = await setUrl(scaled);
asset.image = image; asset.image = image;
addAsset(asset); addAsset(asset);
}, },
@ -182,3 +183,18 @@ export function useAddTopic(contentKey) {
return { state, actions }; return { state, actions };
} }
function getResizedImage(data) {
return new Promise(resolve => {
Resizer.imageFileResizer(data, 1024, 1024, 'JPEG', 90, 0,
uri => {
const base64 = uri.split(';base64,').pop();
var binaryString = atob(base64);
var bytes = new Uint8Array(binaryString.length);
for (var i = 0; i < binaryString.length; i++) {
bytes[i] = binaryString.charCodeAt(i);
}
resolve(new Blob([bytes]));
}, 'base64', 256, 256 );
});
}