PDA

View Full Version : دانلود محتویات یک پوشه



nasimsaba
سه شنبه 02 خرداد 1391, 11:01 صبح
سلام دوستان

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

ممنون میشم اگه دوستان راهنماییم کنن.

iman_me
سه شنبه 02 خرداد 1391, 12:29 عصر
سلام
این کد اسامی کل فایل های داخل پوشه رو بهت میده

string path = Server.MapPath("");//+اسم پوشه ها
string[] files = System.IO.Directory.GetFiles(path);
foreach (string f in files)
{
string f2 = System.IO.Path.GetFileName(f);

}

nasimsaba
سه شنبه 02 خرداد 1391, 13:51 عصر
ممنون دوست عزیز
ولی من توی یک برنامه windows application می خوام به لیست فایل های یک پوشه در سرور دسترسی داشته باشم.

iman_me
سه شنبه 02 خرداد 1391, 13:56 عصر
اهان ببخشید فکر کردم web هستش

nasimsaba
سه شنبه 02 خرداد 1391, 15:15 عصر
خواهش میکنم دوست عزیز.
شما راه حلی به ذهنتون نمی رسه؟

iman_me
سه شنبه 02 خرداد 1391, 15:22 عصر
اگه فقط اسامی رو میخواید همین کد رو یه دست کاری کنید جواب میده
اگه اسمشو داسته باشید میتونید دانلود کنید؟؟؟؟

nasimsaba
سه شنبه 02 خرداد 1391, 18:25 عصر
اره من فقط اسم فایل های اخل پوشه رو لازم دارم.

nasimsaba
سه شنبه 02 خرداد 1391, 22:52 عصر
دقیقا دوست من.فقط میخوام نام فایلهای داخل پوشه و داشته باشم.که بتونم یکی یکی لینک دانلودشون رو بر اساس ادرس پوشه و اضافه کردن نام فایل با انتهای اون درست کنم و بعدش اون فایل رو دانلو کنم.

حالا اگه راهی جز این برای دانلود فایل های پوشه دوستان دارند.ما در گوش میکنیم

بازم ممنون از دوستانی که تا اینجا همراهی کردند

cerezaei65
چهارشنبه 03 خرداد 1391, 08:14 صبح
یه راه اینه که تو تموم فایلهای داخل دایرکتوریتو توی یه آرایه ذخیره کنی بعد یه آدرس واسه دانلود مشخص کنی
با یه حلقه for که تعدادش برابر تعداد داده های آرایه هست شروع میکنی به دانلود
من یه کدی که خودم اسفاده میکنم اینه


fileName = System.IO.Path.GetFullPath(fDialog.FileName);

NetworkCredential nc = new NetworkCredential("username", "password");
WebClient dow = new WebClient();
dow.DownloadFile(download_path, fileName);



filename : مسیر دانلود شده
download_path : مسیری که باید دانلود بشه

nasimsaba
چهارشنبه 03 خرداد 1391, 11:18 صبح
سلام
حرف شما درست دوست عزیز.ولی من مشکلم اینه که اون دایرکتوری توی هاستم هستش و من می خوام لیست فایل های داخل اون پوشه رو بدست بیارم.این چیزی که شما گفتین روی سیستم لوکال جواب میده.

بازم از دوستانی که همراهی میکنن ممنون

nasimsaba
چهارشنبه 03 خرداد 1391, 17:21 عصر
ممنونم.ولی من میخوام توی یک برنامه ای استفاده کنم.البته این چیزی که فرستادین رو گرفتم.یه نگاهی بهش بندازم فکر می کنم به دردم بخوره.
ممنون که راهنمایی کردین

nasimsaba
چهارشنبه 03 خرداد 1391, 17:54 عصر
ممنونم.این کدی که دادین رو یک نگاهی بهش میندازم.فکر کنم به دردم بخوره.

cerezaei65
پنج شنبه 04 خرداد 1391, 07:43 صبح
من خودم اون کد رو تو شبکه استفاده کردم!!!
کافیه آدرس اون پوشه تو سرور رو داشته باشی مثلا
@\\192.168.1.1\share\ بعدش دیگه کاری که گفتم رو انجام میدی
البته اگه سیستم رمزم بخواد (دامین نباشه) باید کد ورود رمزم بدی بش

WebClient client = new WebClient();
NetworkCredential nc = new NetworkCredential("u", "p");

Beginner2013
پنج شنبه 04 خرداد 1391, 08:03 صبح
سلام.باید از ترکیب دو روشی که دوستان گفتن استفاده کنی.یعنی با برنامه ای که آقای iman_me گفتن لیست فایل ها رو در فرمت XML به خروجی بفرستید،و ابتدا لیست فایلا رو از خروجی بگیرید و با برنامه ای که آقای cerezaei65 گفتن اونارو با حلقا دانلود کنید.به هر حال شما یا باید به هاست دسترسی داشته باشید تا بتونید آدرس فایلا رو به دست بیارید،یا اینکه فایلی یا فایلایی در سرور وجود داشته باشه که آدرس اونها رو در خودش داشته باشه و در اونها بخزید!در غیر این صورت به دست آوردن نام اون فایل ها به نظرم نوعی هک محسوب میشه.

Beginner2013
پنج شنبه 04 خرداد 1391, 08:07 صبح
اضافه کنم،شما اگر کار با عبارات با قاعده رو بلد باشید،می تونید ابتدا اجازه لیست شدن فایل های اون پوشه رو در سرور بدید،و بعد اسم اونارو بخونید و دانلود کنید.