שילוב Uploadcare להעלאת קבצים ועיבודם

כשאתר מכיל מאות מוצרים עם תמונות, העלאת קבצים דרך השרת מאטה את הדפים ומעמיסה על האחסון. אנו משלבים את Uploadcare כך שהקבצים עוברים ישירות ל-CDN, תוך עקיפת השרת שלך. הצוות שלנו מספק פרויקט מפתח—החל מהגדרת הווידג'ט ועד לעיבוד תמונות מבוסס URL—תוך הבטחת פעילות אמינה ותמיכה מתמשכת.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
שילוב Uploadcare להעלאת קבצים ועיבודם
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113
  • פיתוח אתר עבור SBH Partners
    פיתוח אתר עבור SBH Partners
    1201
  • פיתוח אתר עבור Red Pear
    פיתוח אתר עבור Red Pear
    619

תארו לעצמכם אתר מסחר אלקטרוני עם 5000 מוצרים, שלכל אחד מהם מספר תמונות. בעת העלאה דרך השרת, עיבוד קובץ בודד אורך בממוצע 2 שניות; עם 50 העלאות במקביל, זה 100 שניות. ה-LCP של הדף גדל ל-12 שניות, וה-INP ל-300 אלפיות השנייה. Uploadcare פותר זאת באופן קיצוני: קבצים עוברים ישירות ל-CDN, תוך עקיפת השרת שלכם. השתמשנו בו ביותר מ-30 פרויקטים, כולל אתרי מדיה עם תעבורה גבוהה, ואנחנו יודעים כיצד להגדיר את האינטגרציה בצורה נכונה. לאחר היישום, עומס השרת יורד פי 3–5, ה-LCP יורד ל-2 שניות, ה-INP ל-50 אלפיות השנייה, ומהירות טעינת הדף עולה בממוצע ב-40%. החיסכון הממוצע במשאבי שרת מגיע ל-70% מתקציב האירוח. החיסכון תלוי בהיקף הפרויקט האישי.

כיצד פועל Uploadcare

שירות הCDN מקבל קבצים מהדפדפן; הקצה האחורי שלכם מקבל רק את ה-UUID. דרך ה-URL ניתן לקבל את הגרסה המקורית, התצוגה המקדימה או הגרסאות שעברו טרנספורמציה. אפס עומס על האירוח שלכם — הכל מעובד בצד ה-CDN עם אופטימיזציה וקאשינג אוטומטיים. העלאת קובץ דרך Uploadcare במקום דרך השרת יכולה להפחית את זמן ההעלאה מ-2 שניות ל-0.4 שניות — מהיר יותר מפי 5. השירות מעבד מיליוני בקשות בדקה, מה שמבטיח אמינות גבוהה. Uploadcare בודק אוטומטית קבצים לאיתור תוכנות זדוניות, ומפחית סיכוני אבטחה.

מדוע Uploadcare עדיף על פתרון מותאם אישית

קריטריון פתרון מותאם אישית Uploadcare
עומס שרת 100% (קבלה, עיבוד, המרה) 0% (רק UUID)
מהירות העלאה תלויה בשרת CDN עם קאש רב-אזורי
עיבוד תמונות נדרש קוד וספריות משל עצמכם פרמטרי URL, ללא קוד
אבטחה יש להגן מפני העלאות זדוניות סריקה מובנית והגנה מפני DDoS

Uploadcare מפחית את זמן ההעלאה פי 3–5 בהשוואה לגישה הקלאסית. בחרנו בו עבור עצמנו ולקוחותינו — יותר מ-30 פרויקטים מוצלחים מאשרים את אמינותו.

כיצד לשלב את Uploadcare ב-React

התקינו את החבילה והגדירו את רכיב ההעלאה. הוראות שלב אחר שלב:

  1. התקינו את @uploadcare/react-uploader ואת הסגנונות.
  2. ייבאו את FileUploaderRegular ואת ה-CSS.
  3. ספקו את המפתח הציבורי באמצעות משתני סביבה.
  4. השתמשו ברכיב עם קריאות חוזרות onFileUploadSuccess ו-onFileUploadFailed.
  5. בהצלחה, קבלו את האובייקט עם ה-UUID ושלחו אותו לקצה האחורי.
import { FileUploaderRegular } from '@uploadcare/react-uploader'
import '@uploadcare/react-uploader/core.css'

interface UploadedFile {
  uuid: string
  cdnUrl: string
  name: string
  size: number
  mimeType: string
}

interface UploaderProps {
  onUpload: (file: UploadedFile) => void
  accept?: string
  maxFileSize?: number
  multiple?: boolean
}

function FileUploader({ onUpload, accept, maxFileSize, multiple = false }: UploaderProps) {
  return (
    <FileUploaderRegular
      pubkey={import.meta.env.VITE_UPLOADCARE_PUBLIC_KEY}
      multiple={multiple}
      accept={accept}
      maxLocalFileSizeBytes={maxFileSize}
      onFileUploadSuccess={(file) => {
        onUpload({
          uuid: file.uuid,
          cdnUrl: file.cdnUrl,
          name: file.name ?? '',
          size: file.size ?? 0,
          mimeType: file.mimeType ?? '',
        })
      }}
      onFileUploadFailed={(file) => {
        console.error('Upload failed:', file.errors)
      }}
      imgOnly={accept === 'image/*'}
    />
  )
}

אם נדרש ממשק משתמש מותאם אישית, אנו מיישמים מערכת העלאה מותאמת מאפס. כדי לעקוב אחר התקדמות, השתמשו ב-hook import { FileUploaderRegular } from '@uploadcare/react-uploader' import '@uploadcare/react-uploader/core.css' interface UploadedFile { uuid: string cdnUrl: string name: string size: number mimeType: string } interface UploaderProps { onUpload: (file: UploadedFile) => void accept?: string maxFileSize?: number multiple?: boolean } function FileUploader({ onUpload, accept, maxFileSize, multiple = false }: UploaderProps) { return ( <FileUploaderRegular pubkey={import.meta.env.VITE_UPLOADCARE_PUBLIC_KEY} multiple={multiple} accept={accept} maxLocalFileSizeBytes={maxFileSize} onFileUploadSuccess={(file) => { onUpload({ uuid: file.uuid, cdnUrl: file.cdnUrl, name: file.name ?? '', size: file.size ?? 0, mimeType: file.mimeType ?? '', }) }} onFileUploadFailed={(file) => { console.error('Upload failed:', file.errors) }} imgOnly={accept === 'image/*'} /> ) } — הוא מחזיר את אחוז ההעלאה והסטטוס. דוגמה:

import { useUploadcare } from '@uploadcare/react-uploader'

function UploadProgress() {
  const { progress } = useUploadcare({
    pubkey: import.meta.env.VITE_UPLOADCARE_PUBLIC_KEY,
  })

  return <div>Прогресс: {progress}%</div>
}

טרנספורמציות תמונה זמינות

התכונה המרכזית: עיבוד תמונות ללא קוד בקצה האחורי. בנו שרשראות פעולות דרך ה-URL.

טרנספורמציה מטרה דוגמת פרמטר URL
resize שינוי גודל useUploadcare
scale_crop חיתוך עם קנה מידה import { useUploadcare } from '@uploadcare/react-uploader' function UploadProgress() { const { progress } = useUploadcare({ pubkey: import.meta.env.VITE_UPLOADCARE_PUBLIC_KEY }) return <div>Прогресс: {progress}%</div> }
format המרה ל-WebP, PNG, JPEG /resize/800x/
quality איכות (חכם/מספר) /scale_crop/300x300/center
blur טשטוש /format/webp
grayscale גווני אפור /quality/smart

דוגמת URL: /blur/20.

דוגמה מלאה ל-URL של טרנספורמציה

/grayscale

כיצד לאבטח העלאות בקצה האחורי

העלאה מצד הלקוח פירושה שהקצה האחורי מקבל רק את ה-UUID. יש לוודא שהקובץ אכן קיים ושייך לפרויקט שלכם, לבדוק את סוג ה-mime והגודל. דוגמה ב-Laravel:

public function store(Request $request): JsonResponse
{
    $request->validate([
        'file_uuid' => ['required', 'string', 'regex:/^[a-f0-9-]{36}$/'],
    ]);

    $uuid = $request->input('file_uuid');

    // Проверка через Uploadcare REST API
    $response = Http::withHeaders([
        'Authorization' => 'Uploadcare.Simple ' . config('services.uploadcare.public_key') . ':' . config('services.uploadcare.secret_key'),
    ])->get("https://api.uploadcare.com/files/{$uuid}/");

    if (!$response->successful()) {
        return response()->json(['error' => 'Файл не найден'], 422);
    }

    $fileInfo = $response->json();

    // Проверка mime-типа
    if (!str_starts_with($fileInfo['mime_type'], 'image/')) {
        return response()->json(['error' => 'Допустимы только изображения'], 422);
    }

    // Сохраняем UUID в базу
    $media = Media::create([
        'uuid' => $uuid,
        'cdn_url' => $fileInfo['original_file_url'],
        'filename' => $fileInfo['original_filename'],
        'size' => $fileInfo['size'],
        'mime_type' => $fileInfo['mime_type'],
    ]);

    return response()->json($media);
}

עבור Node.js, אימות דומה מתבצע עם https://ucarecdn.com/{uuid}/-/scale_crop/300x300/center/-/format/webp/-/quality/smart/ וכותר האישור. אנו גם מחברים אימות דרך Uploadcare REST API (מתודת /files/{uuid}/). זה מגן מפני UUID מזויף ופורמטים לא רצויים.

ציר זמן ליישום

אינטגרציה בסיסית עם וידג'ט ואימות בקצה האחורי אורכת 0.5 עד יום אחד. אם נדרשים ממשק משתמש מותאם אישית, מטפלים נוספים או העברת קבצים קיימים, ציר הזמן מוגדר באופן אישי. האינטגרציה מחזירה את עצמה במהירות באמצעות הפחתת עלויות השרת.

מה כולל שירות האינטגרציה

  • התקנה והגדרה של וידג'ט Uploadcare (React, Vue או Angular).
  • הגדרת טרנספורמציות CDN לפי דרישות הפרויקט.
  • פיתוח אימות UUID בקצה האחורי (Laravel, Node.js, Django).
  • אינטגרציה עם אחסון קיים (S3, דיסקים מקומיים).
  • תיעוד לשימוש ותמיכה.
  • הדרכת צוות (שעה אונליין).
  • אחריות ל-3 חודשים על האינטגרציה.

הזמינו אינטגרציה מלאה של Uploadcare — אנו נבצע ביקורת, נגדיר את הווידג'ט והקצה האחורי. קבלו ייעוץ להגדרת Uploadcare לפרויקט שלכם. צרו קשר כדי לדון במשימות שלכם.