<!-- index.html --> <form id="gif-form"> <input type="file" id="gif-file" accept=".gif"> <button type="submit">Upload GIF</button> <div id="gif-url"></div> </form>
const app = express(); const upload = multer({ dest: './uploads/' });
module.exports = { saveGifMetadata }; This is a basic example to demonstrate the feature. You'll need to modify and extend it to fit your specific requirements. Additionally, ensure you handle errors, implement security measures (e.g., validate user input), and optimize performance. how to convert gif to url link
app.post('/api/upload-gif', upload.single('gif'), async (req, res) => { try { const gifBuffer = req.file.buffer; const gifFileName = req.file.originalname; const s3 = new aws.S3({ region: 'your-region' }); const params = { Bucket: 'your-bucket-name', Key: gifFileName, Body: gifBuffer, }; const data = await s3.upload(params).promise(); const gifUrl = data.Location;
// db.js const mysql = require('mysql'); const gifFileName = req.file.originalname
res.json(gifUrl); } catch (error) { console.error(error); res.status(500).json({ error: 'Failed to upload GIF' }); } });
// Save GIF metadata to database await db.saveGifMetadata(gifFileName, gifUrl); const params = { Bucket: 'your-bucket-name'
db.connect((err) => { if (err) { console.error('error connecting:', err); return; } console.log('connected as id ' + db.threadId); });