PDA

View Full Version : آپلود و دانلود از وب سرور



www.divxkade.com
یک شنبه 07 آذر 1389, 01:52 صبح
با سلام

من زیاد به vb.net مسلط نیستم شاید سوال ساده باشه
من می خوام از وب سرور سایتم با vb.net دانلود کنم می خوام این کار تو خود نرم افزار صورت بگیره و اصلا به مرور گر اینترنت کاری نداشته باشه. می خوام تو خود برنامه یک پروگرس بار داشته باشم که نوشن بده چقدر دانلود شدخ که این اصلا الان سوال و مشکل نیست فقط قسمت دانلود

این کا رو می خوام برای آپلود هم انجام بدم یکی کاربر بتونه یک فایل رو از خوده نرم افزار بفرسته رو وب سرور .

یک موضوع یگه هم که مهم هستش اینه که چون فایل ها هجیمه می خوام طوری باشه که اگر دانلود در وسط کار قط شد فایل سیو بشه . اصلا این عمل چطوری هستش و باید خودمنو ن از بافر بریزیم تو هارد درایو .
دوستان ممنونم راهنمایی کنید

mansourii
یک شنبه 07 آذر 1389, 09:32 صبح
من زیاد به vb.net مسلط نیستم شاید سوال ساده باشه



من می خوام از وب سرور سایتم با vb.net دانلود کنم می خوام این کار تو خود نرم افزار صورت بگیره و اصلا به مرور گر اینترنت کاری نداشته باشه. می خوام تو خود برنامه یک پروگرس بار داشته باشم که نوشن بده چقدر دانلود شدخ که این اصلا الان سوال و مشکل نیست فقط قسمت دانلود

این کا رو می خوام برای آپلود هم انجام بدم یکی کاربر بتونه یک فایل رو از خوده نرم افزار بفرسته رو وب سرور .

یک موضوع یگه هم که مهم هستش اینه که چون فایل ها هجیمه می خوام طوری باشه که اگر دانلود در وسط کار قط شد فایل سیو بشه . اصلا این عمل چطوری هستش و باید خودمنو ن از بافر بریزیم تو هارد درایو .
دوستان ممنونم راهنمایی کنید
برداشت من از اين مباحث اين شد كه شما يك سروري داريد كه ميخوايد
1-دانلود كنه و امكانات دانلود مثل (چقدر دانلود شده - چقدر مونده - ظرفيت فايل در حال دانلود چقدره و...)
2- آپلود كنه و امكانات آپلود رو داشته باشه
3- اگه وسط دانلود يا آپلود قطع بشه نگه داره و دانلود يا آپلود ما قطع نشه.
((((((((((( اگه درست متوجه شده باشم )))))))))))
اين پرژه اي كه شما گفتيد يه خورده پر هزينه و وقت گيره. حداقل براي اتمام اين پروژه 1 ماه نيم وقت لازمه
امام كليات
براي اينكه آپلود در حين كار قطع بشه رو بايد سايت آپلودر يه كاري سرش بياره و به ما مربوط نيست.
اما در رابطه با دانلود:
منظورتون از بافر كدوم بافره؟
بافر CPU . ram .
قاعدتا بايد حد اقل 20 تا Queue درست كنيد كه هر عنصر بتونه 40 بايت جابجا كنه . اگه بيشتر بخوايم جابجا كنيم ترافيك درست ميشه و توي دانلود به مشكل برميخوريم. اين كار هم فقط بايد cach انجام بده. (به نظرم Cach بهترين گزينست . اگه كسي با دليل ميتونه يكي ديگه از حافظه رو بگه كه بهتر از كش عمل ميكنه بگه تا منم ياد بگيرم)
درمورد سيو شدن وسط دانلود:
اين بسته به معماري شما داره. من اگه بودم اينطوري معماري مي كردم كه:
اطلاعات Queue توي بسته نرم افزاري خودم (قضيه Setup سازي) ذخيره بشه. مثلا توي C:\Program Files\MyPac\Save و وقتي كاربر دكمه ادامه رو زد بره توي Cach (البته بافر تو بازيابي بهتر كار ميكنه) و اطلاعات Queue رو بيرون بكشه.

اگه قسمتي از كدتون رو بذاريد شايد بتونم كمكتون كنم تا تكميل بشه.

www.divxkade.com
یک شنبه 07 آذر 1389, 16:02 عصر
سلام دوست عزیر ممنون از جوابتون
کاری که من می خوام انجام بدم این هستش که یک سرور دارم که با http و ftp قابل دست رسی مثلا http://something.com و نرم افزاری که می خوام درست کنم شبیه برنامه های peer to per هستش با این تفاوت که اصلا نمی خوام کاربر از کاربر دانلود کنه بلکه خیلی ساده خودم فایل رو بر روی سرور آپلود می کنم مثلا یک فایل 11.mp4 که حجم این فایل 800 MB هستش . وکاربر می تونه لیست فایل های موجود در سرور رو ببینه . و هر کدام رو که انتخاب کرد شروع به دانلود می کنه . حالا چون فایل ها حجیم هستند شاید در چند نوبت بخواد این رو دانلود کنه برنامه باید طوری باشه که میزانه سیو شده رو نگه داره . مثلا اگر کاربر 30% فایل رو دیروز دانلود کرده امروز از ادامه اون دانلود شروع بشه .
حالا اصلا برای شروع نمی خوام به آپلود فکر بکنم تا همین قسمت پیش بریم به مرور اضافه می کنیم .

کرهایی که من انجام دادم :
من یک دیتابیس mysql در روی سرور دارم . که فقط اطلاعات فایل ها مثل آدرس فایل بر روی سرور و حجمش و اسمش این جور چیز . برنامه وقتی باز میشه میره این اطلاعات رو از mysql می خونه توی برنامه نوشون میده هر فایل یک دکمه دانلود داره .
من تا این جا پیش رفتم که وقتی دکمه دانلود زده میشه . برنامه شروع به دانلود کردن میکنه از سرور ولی برنامه تا تمام شدن فایل قفل میشه و هیچ کاری نمشه باهاش کرد و اگر ما از توی task manager برنامه رو ببندم هر چی دانلود شده میره باده هوا .

www.divxkade.com
دوشنبه 08 آذر 1389, 22:06 عصر
من رو حش رو پیدا کردم این DLL همه جور متد داره مه میشه باهاش از FTP و HTTP دانلود و آپلود کرد ؟ کسی نسخه اصلی رو نداره به من بده ؟ این 30 روز کار می کنه
http://www.example-code.com/vbdotnet/http_resume_download.asp

alirezash
سه شنبه 09 آذر 1389, 02:25 صبح
دوستان چجوری میشه مثل IDM آِیکون رو راست کلیک گذاشت

غلامرضا شریفی
دوشنبه 25 بهمن 1389, 17:16 عصر
براي شما



Try
My.Computer.Network.UploadFile("d:\reza.txt", "ftp://www.aaaaa.ir/reza.txt", "user name", " Password")
Catch ex As Exception
If Err.Number = 53 Then
MsgBox("فايل در مسير موجود نيست")
End If
If Err.Number <> 53 Then MsgBox(ErrorToString)
End Try
Try
My.Computer.Network.DownloadFile("ftp://www.aaaaaaaa.ir/reza.txt", "d:\reza1.txt", " user name ", "Password")
Catch ex As Exception
If Err.Number = 57 Then
MsgBox("اين فايل در مسير ذير موجود است")
End If
If Err.Number <> 57 Then MsgBox(ErrorToString)
End Try