PDA

View Full Version : دانلود فایل از یک سایت داخل برنامه



na_nikoo58
دوشنبه 05 آذر 1386, 10:18 صبح
با عرض سلام و خسته نباشید.
اگر براتون امکان داره میشه راهنمایی کنید؟
من از داخل برنامه خودم باید 2 تا فایل متنی ای که در یه سایت دیگه Generate میشه
رو از اون سایت که نیار به
Login هم
.دارم دانلود کنم
الان من باید
یعنی من پس ازLogin اون دو تا فایل رو با CheckBox انتخاب کرده
وبعد ازClickکردن یکButton دو فایل ایجاد شده را دانلود کنم
و میخوام این امکان داخل برنامه قرار بده که کاربر بتونه این کار رو انجام بده
در ضمن من با asp 2 کار میکنم #C
Thanks alot
لطفا کمک کنید.

mohy_heidari
شنبه 10 آذر 1386, 00:13 صبح
برای اینکار شما چند تا روش دارین اما اگه نیاز به Logon باشه ، به عقیده بنده بهترین روش برای انجام این کار استفاده از WebService به جای Download کردن فایل هستش که در این روش از یک قالب Xml برای ارسال اطلاعات استفاده میشه. البته میشه دانلود کرد اما اگه از WebService استفاده کنید از امکانات بیشتری میتونید استفاده کنید.

روش کار WebService رو تو این فایل گرافیکی نمایش دادم تا اول با چگونگی انجام عملیات آشنا بشین :



http://4share.ir/storage/249WebService.jpg


برای این کار ابتدا باید یک پروژه ASP.Net Web Service ایجاد کنید و به شکل زیر عمل کنید :

1 : در قسمت کد به جای متد زیر :


[WebMethod]
publicstring HelloWorld() {
return"Hello World";
}


مقداری را که میخواهید به Client فرستاده شود را بنویسید.
به عنوان مثال :



[WebMethod]
publicstring GetData() {
return"This is my test web service";
}


این متد وقتی از سمت Client فراخوانی بشه مقدار This is my test web service برمیگرده
حالا شما بجای این کد میتونید کدی بنویسید که یک فایل متنی یا هر فایلی رو برای برنامه بفرسته.

بعد از این کار WebService رو بر روی وب سایت خودتون Upload کنید.

در سمت Client یا برنامه ای که قراره با WebService کار کنه یک WebRefrence ایجاد میکنید و آدرس دقیق WebService ای که Upload کردید رو میدید و سپس تو برنامه خودتون از Namespace ای که ساخته شده و کلاس ای که برای این منظور ساخته شده استفاده کنید.

به عنوان مثال :



TextBox1.Text = WebService1.GetData();


برای وارد کردن UserName , Password هم از کلاس :
System.Net.NetworkCredential
استفاده کنید.