آپلود پوشه یا محتویات داخل پوشه در هاست توسط B4A
با سلام خدمت دوستان و اساتید محترم
سوالی داشتم در رابط با آپلود در هاست، واقعا ممنون آموزش های”ارتباط با سرور آنلاین در B4A” خیلی عالی بود ولی اگر ما بخوایم به جای عکس یا فایل مورد نظر، یک پوشه خاص در گوشی رو آپلود کنیم چطور میشه؟! اگر هم امکان آپلود پوشه نبود چطور میشه محتویات داخل اون پوشه رو همه یکجا آپلود کرد؟!(ضمن اینکه مثلا فایل های داخل پوشه همگی عکس باشند) به عنوان مثال من میخوام با زدن کلید آپلود، عکس های داخل پوشه Pictures آپلود بشن!
معذرت بابت طولانی شدن سوال، ممنون میشم اطلاعاتتون رو در این مورد در اختیارم بزارید.با تشکر فراوان

پاسخ ها ( 1 )
سلام دوست عزیز
آپلود پوشه و همچنین اینکه کاربر یک پوشه رو انتخاب کنه و محتویات داخل پوشه آپلود بشند امکان پذیر نیست
کاربر باید وارد پوشه بشه و هر تعداد فایلی که میخواد رو آپلود کنه، که به این نوع آپلود در لغت Multipart که در فارسی آپلود چندتایی نامیده میشود.
برای آپلود چندتایی که کدهای سمت سرور تغییری نمیکنند(شما همون کدهایی که در جلسات دیتابیس آنلاین برای آپلود فایل گذاشتم میتونید استفاده کنید)، فقط در سمت بیسیک باید از کتابخانه MultipartFileData استفاده کنید.
که به صورت زیر میشود:
کدهای سمت بیسیک:
Dim j As HttpJob j.Initialize("", Me) Dim mp As MultipartFileData mp.Initialize mp.Dir = File.DirRootExternal mp.FileName = img mp.KeyName = "filename" mp.ContentType = "image/jpg" j.PostMultipart("site.ir", Null, Array(mp)) Wait For (j) JobDone(j As HttpJob) If j.Success Then Log(j.GetString) If img = j.GetString Then ToastMessageShow("آپلود انجام شد.", False) Else ToastMessageShow("آپلود انجام نشد", False) End If End If j.Releaseکه بجای site.ir باید آدرس سایت فایل php که کدهای سمت سرور درون سایت شما قرار دارد را بنویسید
کدهای سمت سرور(همون کدهای قبلی):
<?php if (isset($_FILES['filename'])){ $file = $_FILES['filename']; $fileName = $file['name']; $filType = $file['type']; $fileTmp = $file['tmp_name']; $fileSize = $file['size']; $uploadOk = 1; $target = 'upload/'; $newName = 'beporsam' . time(); //چک کردن سایز فایل if ($fileSize > 500000) { $uploadOk = 0; echo "حداکثر تا 5 مگابایت میتوانید آپلود کنید"; } //عملیات آپلود if ($uploadOk == 1){ $ext = pathinfo($fileName, PATHINFO_EXTENSION); $target = $target . $newName . '.' . $ext; move_uploaded_file($fileTmp,$target); echo "آپلود انجام شد"; } else{ echo "آپلود انجام نشد"; } } ?>که بنا به نیازتون میتونید تغییر بدید.
موفق باشید.
خیلی ممنون جناب آخوندی بابت وقتی که گذاشتید،مچکرم بابت توضیحاتتون. مشکل از بنده هست که نمیتونم باهاش کنار بیام و اینکه تازه شروع کردم نمیتونم خوب درک کنم.
ممنون، موفق باشید
خواهش میکنم
طبیعی هست، با مباحث که کار کنید و آشنا بشید به راحتی براتون قابل درک میشه …. زیاد سخت نیست