shawon_majid

Untitled

Dec 23rd, 2023
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import express from 'express';
  2. import dotenv from 'dotenv';
  3. import multer from 'multer';
  4. import bodyParser from 'body-parser';
  5. import axios from 'axios';
  6.  
  7.  
  8.  
  9. const IMGBB_API_KEY = process.env.IMGBB_API_KEY
  10.  
  11. const app = express();
  12.  
  13.  
  14. const storage = multer.memoryStorage()
  15. const upload = multer({storage:storage })
  16. dotenv.config();
  17.  
  18.  
  19. app.use(bodyParser.json())
  20. app.use(bodyParser.urlencoded({extended: true}))
  21.  
  22.  
  23.  
  24. app.get('/', (req, res) => {
  25.     res.send('<h1>Hello World</h1>');
  26. });
  27.  
  28.  
  29. app.post('/upload', upload.single('image'), async (req, res)=>{
  30.  
  31.     try {
  32.  
  33.         const ibbResponse = await axios.post('https://api.imgbb.com/1/upload', {
  34.             key: IMGBB_API_KEY ,
  35.             image: req.file?.buffer.toString('base64')
  36.         }, {headers: {
  37.             "Content-Type": "multipart/form-data; boundary=<calculated when request is sent>"
  38.         }})
  39.  
  40.         console.log(ibbResponse.data.data.image.url)
  41.         res.send('File uploaded successfully')
  42.     } catch (error) {
  43.         console.log(error)
  44.         res.send('Failed to upload')
  45.     }  
  46. })
  47.  
  48.  
  49.  
  50. app.listen(process.env.PORT, () => {
  51.     console.log('Server is listening on port: ' + process.env.PORT + '...');
  52. });
  53.  
Add Comment
Please, Sign In to add comment