onurzorluer / react-image-file-resizer

Resize Local Images with React 🌄 🌅
MIT License
317 stars 41 forks source link

How to get result base64 string? #16

Closed mflash123 closed 4 years ago

mflash123 commented 4 years ago

I find example of this

let filesToStore = []
  Resizer.imageFileResizer(
                  file,
                  331,
                  700,
                  'JPEG',
                  100,
                  0,
                  blob => {
                    filesToStore.push(blob)
                  },
                  'base64'
              )

And if I make console.log(filesToStore) it works. But I thinks there a some promise or what, because I cant get result when page loaded. Only after few seconds.

So, how can I get result string? Example:

let filesToStore = 'string'
  Resizer.imageFileResizer(
                  file,
                  331,
                  700,
                  'JPEG',
                  100,
                  0,
                  blob => {
                    filesToStore = blob
                  },
                  'base64'
              )
console.log(filesToStore)

filesToStore returns 'string', not blob result.

onurzorluer commented 4 years ago

You must change last parameter to blob. let filesToStore = 'string' Resizer.imageFileResizer( file, 331, 700, 'JPEG', 100, 0, blob => { filesToStore = blob }, 'blob' ) console.log(filesToStore)

rikinshah23 commented 4 years ago

I have tried this but its shows me blank result. What am I doing wrong?

var imageURI = '';
const resizedImg = await Resizer.imageFileResizer(
  fileList.fileList[0].originFileObj,
  300,
  300,
  'JPEG',
  100,
  0,
  uri  => {
    imageURI = uri 
    console.log(uri )
  },
  'blob'
);
console.log(resizedImg)
console.log(imageURI)