Sepadukan Cloudinary dalam aplikasi Next.js

Mary-Kate Olsen
Lepaskan: 2024-09-21 16:32:17
asal
304 orang telah melayarinya

Integrate Cloudinary in a Next.js application

Baca Mengenai Cloudinary dan harganya.

1. Buat Akaun Cloudinary

Daftar di Cloudinary dan buat akaun baharu jika anda tidak mempunyai akaun.

2. Pasang Cloudinary SDK

Anda boleh memasang Cloudinary SDK menggunakan npm atau benang:

npm install cloudinary

Salin selepas log masuk

3. Konfigurasikan Cloudinary

Anda boleh mencipta fail konfigurasi untuk menyimpan bukti kelayakan Cloudinary anda. Amalan yang baik untuk menyimpannya dalam pembolehubah persekitaran.

Buat fail .env.local dalam akar projek anda dan tambah bukti kelayakan Cloudinary anda:

CLOUDINARY_URL=cloudinary://<api_key>:<api_secret>@<cloud_name>

</cloud_name></api_secret></api_key>
Salin selepas log masuk

4. Sediakan Cloudinary dalam Aplikasi Anda

// 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');
  }
};

Salin selepas log masuk

5. Gunakan Fungsi Muat Naik

// 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`);
  }
}

Salin selepas log masuk

6. Muat naik dari Frontend

// 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 (
    
Salin selepas log masuk
{imageUrl && Sepadukan Cloudinary dalam aplikasi Next.js}
); }; export default ImageUpload;

7. Uji Persediaan Anda

Jalankan aplikasi Next.js anda dan uji fungsi muat naik imej.

Kesimpulan

Anda kini sepatutnya mempunyai integrasi Cloudinary yang berfungsi dalam apl Next.js anda! Jika anda mempunyai sebarang keperluan khusus atau memerlukan penyesuaian lanjut, jangan ragu untuk bertanya!

Atas ialah kandungan terperinci Sepadukan Cloudinary dalam aplikasi Next.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!