آموزش جاوااسکریپت › انجمن ها › react native › استفاده از FormData برای آپلود عکس در react native
- این موضوع 7 پاسخ، 2 کاربر را دارد و آخرین بار در 3 سال، 4 ماه پیش بدست مهدی حسن زاده بهروزرسانی شده است.
-
نویسندهنوشتهها
-
jr.quiker2020مشارکت کننده
سلام آقا مهدی عزیز
برادر من یه مشکلی تو آپلود عکس توی react-native دارم الان دوروزه درگیرم ممنون میشم کمک کنی.
توی آموزش های سمت سرور توی پروژه محور دیجی و گراف کیو ال که آقای کیانی درس میداد: برای آپلود عکس توی فایل html به متغیری به اسم file تعریف میکرد که append میکرد به formData. تو html شما این file رو اینطور تعریف میکردین: let file = document.getElementById(‘media’).files[0.
و append کردنی هم میگفتین formData.append(0, file, file.name
حالا توی react-native من میخوام از image-picker عکس رو آپلود کنم. به این متغیر file چی باید بدم ؟؟ یعنی چطور تعریفش کنم؟؟
response که از image picker میگیرم رو آیا کامل باید بدم به متغیر file ؟؟ یا اینکه response.data رو بدم بهش؟؟؟
و اینکه وقتی append میکنم file.name رو هم بدم؟؟؟؟؟
آقا مهدی ممنون میشم چند دقیقه وقتت رو بدی بگی چطور این مشکل رو حل کنمjr.quiker2020مشارکت کنندهخدا شاهده الان دو روزه با این درگیرم. response که از image picker میگیرم هر چی داشته بهش دادم و فرستادم(data و path و…)
سمت سرور consol میگیرم یا {<Promise {<rejected میده
یا اینکه Promise { <pending> }مهدی حسن زادهمدیرکلسلام. من نمیدونم سمت سرور چجوری هندل شده .اما تو موردی که من داشتم و سرور با php نوشته شده بود.
response.data رو باید بفرستید و در header درخواست باید Content-type:mulripart-form-data قرار بدید
حالا سمت سرور باید base64_decode انجام بدید تا فایل آپلود بشهjr.quiker2020مشارکت کنندهآقا مهدی سمت سرور api رو با نود و با گراف کیو ال دقیقا مثل آموزش دیجی کالا فصل دوم، که api توسعه میدادین. تو یکی از قسمتاش آپلود عکس رو هندل میکردین دقیقا شبیه اون هندل کردم.
حالا اینطرف تو react-native گیر کردم. response ای که از image-picker میگیرم رو چطور بفرستم سمت سرور؟؟؟؟؟
آره قبلا با php کار کردم response.data میفرستادم اونطرف با base64_decode هندل میشدjr.quiker2020مشارکت کنندهمیخوام response ای که از image-picker گرفتم رو append کنم به FormData
دقیقا مثل کد زیر:jr.quiker2020مشارکت کنندهJavaScript12345678910111213141516171819202122let map = {0 : ['variables.avatar_image'],}let formD = new FormData();let file = pathAvatar;formD.append( 'operations' , JSON.stringify(data));formD.append( 'map' , JSON.stringify(map));formD.append( 0 , file);let optitons = {method : 'POST',headers : {'Content-Type' : 'multipart/form-data' ,'token' : " "} ,body : formD};jr.quiker2020مشارکت کنندهتو کد بالا let file = pathAvatar همون response ایه که از image picker گرفتم.
الان مشکلم یکی اینه که response خالی که از image picker میاد رو باید بفرستم یا اینکه response.data یا چیزه دیگه؟؟؟؟
و اینکه توی append سومی باید علاوه بر این متغیر file که دادم چیزه دیگه ای هم بدم؟؟؟؟؟مهدی حسن زادهمدیرکلببینید سمت سرور چه چیزی مورد نیازه.من در جریان نیستم علی دقیقا چه چیزی رو مورد استفاده قرار داده.چون بحث react و react native برای آپلود فایل کمی متفاوته
-
نویسندهنوشتهها