امیر ریاحی
7 ماه پیش توسط امیر ریاحی مطرح شد
1 پاسخ

ارسال عکس به api با ریکت

سلام خسته نباشید
میخام با ریکت یه متن و یه عکس رو به یک api ارسال کنم یعنی api 2 آیتم میگیره
یکی تایپ string هست که برای متن یا عنوان دسته بندیه
یکی دیگه هم تایپش string هست که اسم عکسه
روش ارسال متن به api رو میدونم چجوریه ؟
اما کسی میتونه بگه چجوری باید عکس رو api ارسال کنم؟
لطفا اگه کسی میدونه راهنمایی کنه
(این کار با ریکت انجام میشه دوستان)

  • خیلی ممنون ازتون

ثبت پرسش جدید
محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 7 ماه پیش آپدیت شد
0

سلام

شما یه state میتونی تعریف کنی و توی رویداد change مربوط به input خودت مقدار فایل رو بریزی توی اون state
من از فرمیک استفاده میکنم و به جای state اونو پرش کردم نتونستم فیلد فایل خود پکیج رو پیدا کنم
در نهایت موقع ارسال داده هات به سمت سرور باید یهform data بسازی کدش رو این زیر میزارم راحت قابل فهمه

    setSubmiting(true)
    values.is_avatar = values.is_avatar.length;
    const fd = new FormData();
    fd.append("image", values.file);
    fd.append("data", JSON.stringify(values));
    try {
        const res: any = await callApi()
        .post(`/admin/users/store-documents/${editingDocumentsUserId}`, fd)
        .then((res) => {
          resetForm();
          getUserDocuments();
          inputImageRef.current.value=null;
        });
        toast.success('ثبت سند با موفقیت انجام شد.')
    } catch (err: any) {
      toast.error('مشکلی پیش آمده است.')
    }
    setSubmiting(false)

یه توضیح مختصری که بدم
فرم ارسالی من دو داده داره مثل شما
یکیش image هست یکی دیگه data که object هست که توش داده های زیادی هست حالا شما میتونی اون رشته رو بزاری توش مثلا


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام