Как загрузить локальные файлы в IMGBB со строкой base64 с помощью axios js

#javascript #axios

Вопрос:

Я попробовал пакет npm imgbb-uploader, но он работает только с другими URL-адресами изображений, а не с локальными файлами.

 axios
  .post("https://api.imgbb.com/1/upload", {
  image: BASE_64_STRING,
  name: file.name,
  key:  process.env.MY_API_KEY,
})
   .then((res) => console.log(res))
   .catch((err) => console.log(err));```
 

Ответ №1:

Как насчет этого:

 // fileinput is the file/index 0 from input-type-file eg: e.target.myfileinput.files[0]
const uploadImg = ( fileinput ) => {

     const formData = new FormData();
     formData.append( "image", fileinput ); // has to be named 'image'!

     let apiresponse = axios.post( 'https://api.imgbb.com/1/upload?key=your-api-key', formData )
       .then( res => { return res.data } )
       .catch( error => { return null } )

    return apiresponse;
}