اقرأ عن Cloudinary وتسعيره.
قم بالتسجيل في Cloudinary وقم بإنشاء حساب جديد إذا لم يكن لديك حساب.
يمكنك تثبيت Cloudinary SDK باستخدام npm أو الغزل:
npm install cloudinary
يمكنك إنشاء ملف تكوين للاحتفاظ ببيانات اعتماد Cloudinary الخاصة بك. من الممارسات الجيدة الاحتفاظ بها في متغيرات البيئة.
قم بإنشاء ملف .env.local في جذر مشروعك وأضف بيانات اعتماد Cloudinary الخاصة بك:
CLOUDINARY_URL=cloudinary://: @
// utils/cloudinary.js import { v2 as cloudinary } from 'cloudinary'; cloudinary.config({ cloud_name: process.env.CLOUDINARY_CLOUD_NAME, api_key: process.env.CLOUDINARY_API_KEY, api_secret: process.env.CLOUDINARY_API_SECRET, }); export const uploadImage = async (file) => { try { const result = await cloudinary.uploader.upload(file, { folder: 'your_folder_name', // optional }); return result.secure_url; // Return the URL of the uploaded image } catch (error) { console.error('Cloudinary upload error:', error); throw new Error('Upload failed'); } };
// pages/api/upload.js import { uploadImage } from '../../utils/cloudinary'; export default async function handler(req, res) { if (req.method === 'POST') { const { file } = req.body; // Assume you're sending a file in the body try { const url = await uploadImage(file); res.status(200).json({ url }); } catch (error) { res.status(500).json({ error: error.message }); } } else { res.setHeader('Allow', ['POST']); res.status(405).end(`Method ${req.method} Not Allowed`); } }
// components/ImageUpload.js import { useState } from 'react'; const ImageUpload = () => { const [file, setFile] = useState(null); const [imageUrl, setImageUrl] = useState(''); const handleFileChange = (event) => { setFile(event.target.files[0]); }; const handleSubmit = async (event) => { event.preventDefault(); const formData = new FormData(); formData.append('file', file); const res = await fetch('/api/upload', { method: 'POST', body: formData, }); const data = await res.json(); if (data.url) { setImageUrl(data.url); } else { console.error('Upload failed:', data.error); } }; return (); }; export default ImageUpload;
قم بتشغيل تطبيق Next.js الخاص بك واختبر وظيفة تحميل الصور.
يجب أن يكون لديك الآن تكامل عملي لـ Cloudinary في تطبيق Next.js الخاص بك! إذا كان لديك أي متطلبات محددة أو كنت بحاجة إلى مزيد من التخصيص، فلا تتردد في طرحها!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3