एक विकल्प यह है कि इमेज को Cloudinary पर अपलोड किया जाए क्लाइंट-साइड में और लौटाए गए यूआरएल को अपने स्वयं के एपीआई के साथ मोंगोडीबी में सहेजें। Cloudinary आपकी छवियों को होस्ट करने के अलावा और भी बहुत कुछ करता है, लेकिन छवि हेरफेर और अनुकूलन आदि को भी संभालता है।
मूल रूप से आपको यह करना होगा:
- क्लाउडिनरी खाते के लिए साइन अप करें
- सेटिंग पर जाएं -> अपलोड करें
- क्लाउडिनरी पर अहस्ताक्षरित अपलोडिंग को सक्षम करने के लिए 'अहस्ताक्षरित मोड' के साथ "अपलोड प्रीसेट" जोड़ें
तब आपका अपलोड फंक्शन कुछ इस तरह हो सकता है:
async function uploadImage(file) { // file from <input type="file">
const data = new FormData();
data.append("file", file);
data.append("upload_preset", NAME_OF_UPLOAD_PRESET);
const res = await fetch(
`https://api.cloudinary.com/v1_1/${YOUR_ID}/image/upload`,
{
method: "POST",
body: data,
}
);
const img = await res.json();
// Post `img.secure_url` to your server and save to MongoDB
}