Behnam6670
دوشنبه 26 آبان 1393, 12:23 عصر
سلام خدمت دوستان
یه آموزش کوچولو میخوام برا دوستانی که میخوان یه فایلی رو رو هاستشون آپلود کنن داشته باشم امیدوارم بدرد دوستان بخوره
البته این اموزش شاید ظاهرا کوچیک باشه ولی کاربردهای زیادی میتونه داشته باشه و شما میتونید حتی از این طریق یک Ftp برا سایتتون ایجاد بکنید و یا اینکه مثلا من خودم دارم رو یه سایت فروشگاهی کار میکنم که کنترل پنل سایتم رو بصورت ویندوزی نوشتم(میدونید که طراحی با واسط Html یکم دردسرش زیاده) و خیلی راحت گروه بندی محصولام رو انجام میدم و اگه نیاز به آپلود تصویر یا متن یا هر فایلی که داشته باشم سه صوته آپلود میشه تو هاست.البته باید آدرس لینکارو تو دیتابس ذخیره کنید:چشمک:
البته این فقط برای سایتهایی هستش که با ASP.NET طراحی شده
خب بریم سر اصل مطلب
ببینید دوستان برای اپلود فایل از یه برنامه ویندوزی به یک سایت شما دوتا کار باید بکنید
1- ایجاد فرم ویندوزی برای ارسال فایل
2-ایجاد صفحه وب برای دریافت فایل
خب اول دومی، دوم اولی:قهقهه:
حتما دوستان با نحوه ایجاد سایت با asp.net آشنایی دارند
یه پروژه جدید از نوع ASP.Net Empty Web Application ایجاد بکنید.یه صفحه جدید به سایتتون اضافه کنید و اسمش رو بزاری مثلا upload.aspx
خب حالا تو رویداد PageLoad صفحه ای که ساختید کد زیر رو وارد کنید
protected void Page_Load(object sender, EventArgs e)
{
foreach (string f in Request.Files.AllKeys)
{
HttpPostedFile file = Request.Files[f];
string path = Request.QueryString["path"];
DirectoryInfo ObjSearchDir = new DirectoryInfo(Server.MapPath(path));
if (!ObjSearchDir.Exists)
{
ObjSearchDir.Create();
}
file.SaveAs(Server.MapPath(path) + "/" + file.FileName);
}
}
یادتون نره که کتابخانه System.IO using کنید:چشمک:
کار کد نویسی ما تو سمت سایتمون همیت یه ذره کد بود به همین خوشمزگی میتونید فایل رو دیافت کنید:تشویق:
یه کار دیگه هم باید بکنید اینه که یه فولدر تو ریشه سایتتون بسازید به نام Files یا هر چی.عکس زیر رو ببینید
125798
خب کار ما سمت سرور تموم شد
بریم سمت ویندوز
یه پروژه جدید ایجاد کنید از نوع C#-WindowsApplication
اسم Form1 رو به UploadForm تغییر بدید و ظاهر فرم رو بصورت زیر طراحی بکنید
125799
وارد سورس فرمتون بشید و کتابخونه System.Net رو using کنید
رو دکمه دکمه انتخاب فایل کلیک کنید و کد زیر رو وارد کنید
private void btnFileName_Click(object sender, EventArgs e)
{
OpenFileDialog of = new OpenFileDialog();
of.Filter = "All Files|*.*";
if (of.ShowDialog() == DialogResult.OK)
{
txtFileName.Text = of.FileName;
}
}
و کد زیر رو برای دکمه شروع آپلود فایل درج کنید
if (string.IsNullOrEmpty(txtFileName.Text) || string.IsNullOrEmpty(txtHost.Text) || string.IsNullOrEmpty(txtPath.Text))
{
MessageBox.Show(this, "خطا در خالی ماندن فیلدها");
return;
}
try
{
WebClient client = new WebClient();
string uploadWebUrl = txtHost.Text + "/upload.aspx?path=" + "Files" + "\\" + txtPath.Text;
client.UploadFile(uploadWebUrl, txtFileName.Text);
MessageBox.Show(this, "آپلود فایل با موفقیت انجام شد");
}
catch (Exception err)
{
MessageBox.Show(this, "آپلود فایل با خطا مواجه شده است ممکن است بخاطر دلیل زیر باشد\n" + err.Message);
return;
}
خب کار ما تموم شد:بوس:
حالا سایتتون رو اجرا کنید میبینید که آدرس بار سایتتون به شکل زیر هستش
125800
اصلا لزومی نداره که صفحه upload.aspx رو اینجا ببینید این صفحه باید جزو صفحاتتون باشه چون من بغیر این صفحه ای نداشتم این صفحه رو صفحه StartUp انتخاب کردم مسلما سایت شما میتونه چندین صفحه داشته باشه که یکیش همون upload.aspx هستش
خب حالا فرم ویندوزیتون رو اجرا کنید و از آدرس بار سایتتون عبارت قبل از upload.aspx رو کپی کنید (این عبارت میتونه هرچیزی باشه.یعنی اینکه میتونه آدرس IP باشه یا آدرس سایت شما باشه یا تو این شگل میبینید که چون لوکال هستش عبارت لوکال هاست بهمراه یه پورتی که براش باز کرده هستش)
مثال :
www.mysite.com (http://www.mysite.com)
192.168.0.1:1010
localhost:2025
یا هرچیزه دیگه
بعد از کپی کردن اونو تو فرم زیر تو قسمت آدرس هاست وارد کنید .با انتخاب فایل یه فایل از سیستمتون رو انتخاب کنید
قسمت بعدی آدرس ذخیره سازی فایلهاتون رو سرور هستش.شما تو سایتتون یه فولدر ساختید به نام Files
آدرسی که اینجا وارد میکنید به اون فولدر Files اضافه میشه و فایلتون تو این آدرس اپلود میشه
اگه خواستید میتونید این آدرس رو رو تو دیتا بیس هم ذخیر کنید
شکل زیر رو ببینید
125794
بعد از اینکه اطلاعات رو وارد کردید اگه دکمه شروع آپلود رو بزنید فایلتون رو سایت آپلود میشه
125795
125796
امیدوارم بدرد دوستان بخوره
صلوات یادتون نره
یه آموزش کوچولو میخوام برا دوستانی که میخوان یه فایلی رو رو هاستشون آپلود کنن داشته باشم امیدوارم بدرد دوستان بخوره
البته این اموزش شاید ظاهرا کوچیک باشه ولی کاربردهای زیادی میتونه داشته باشه و شما میتونید حتی از این طریق یک Ftp برا سایتتون ایجاد بکنید و یا اینکه مثلا من خودم دارم رو یه سایت فروشگاهی کار میکنم که کنترل پنل سایتم رو بصورت ویندوزی نوشتم(میدونید که طراحی با واسط Html یکم دردسرش زیاده) و خیلی راحت گروه بندی محصولام رو انجام میدم و اگه نیاز به آپلود تصویر یا متن یا هر فایلی که داشته باشم سه صوته آپلود میشه تو هاست.البته باید آدرس لینکارو تو دیتابس ذخیره کنید:چشمک:
البته این فقط برای سایتهایی هستش که با ASP.NET طراحی شده
خب بریم سر اصل مطلب
ببینید دوستان برای اپلود فایل از یه برنامه ویندوزی به یک سایت شما دوتا کار باید بکنید
1- ایجاد فرم ویندوزی برای ارسال فایل
2-ایجاد صفحه وب برای دریافت فایل
خب اول دومی، دوم اولی:قهقهه:
حتما دوستان با نحوه ایجاد سایت با asp.net آشنایی دارند
یه پروژه جدید از نوع ASP.Net Empty Web Application ایجاد بکنید.یه صفحه جدید به سایتتون اضافه کنید و اسمش رو بزاری مثلا upload.aspx
خب حالا تو رویداد PageLoad صفحه ای که ساختید کد زیر رو وارد کنید
protected void Page_Load(object sender, EventArgs e)
{
foreach (string f in Request.Files.AllKeys)
{
HttpPostedFile file = Request.Files[f];
string path = Request.QueryString["path"];
DirectoryInfo ObjSearchDir = new DirectoryInfo(Server.MapPath(path));
if (!ObjSearchDir.Exists)
{
ObjSearchDir.Create();
}
file.SaveAs(Server.MapPath(path) + "/" + file.FileName);
}
}
یادتون نره که کتابخانه System.IO using کنید:چشمک:
کار کد نویسی ما تو سمت سایتمون همیت یه ذره کد بود به همین خوشمزگی میتونید فایل رو دیافت کنید:تشویق:
یه کار دیگه هم باید بکنید اینه که یه فولدر تو ریشه سایتتون بسازید به نام Files یا هر چی.عکس زیر رو ببینید
125798
خب کار ما سمت سرور تموم شد
بریم سمت ویندوز
یه پروژه جدید ایجاد کنید از نوع C#-WindowsApplication
اسم Form1 رو به UploadForm تغییر بدید و ظاهر فرم رو بصورت زیر طراحی بکنید
125799
وارد سورس فرمتون بشید و کتابخونه System.Net رو using کنید
رو دکمه دکمه انتخاب فایل کلیک کنید و کد زیر رو وارد کنید
private void btnFileName_Click(object sender, EventArgs e)
{
OpenFileDialog of = new OpenFileDialog();
of.Filter = "All Files|*.*";
if (of.ShowDialog() == DialogResult.OK)
{
txtFileName.Text = of.FileName;
}
}
و کد زیر رو برای دکمه شروع آپلود فایل درج کنید
if (string.IsNullOrEmpty(txtFileName.Text) || string.IsNullOrEmpty(txtHost.Text) || string.IsNullOrEmpty(txtPath.Text))
{
MessageBox.Show(this, "خطا در خالی ماندن فیلدها");
return;
}
try
{
WebClient client = new WebClient();
string uploadWebUrl = txtHost.Text + "/upload.aspx?path=" + "Files" + "\\" + txtPath.Text;
client.UploadFile(uploadWebUrl, txtFileName.Text);
MessageBox.Show(this, "آپلود فایل با موفقیت انجام شد");
}
catch (Exception err)
{
MessageBox.Show(this, "آپلود فایل با خطا مواجه شده است ممکن است بخاطر دلیل زیر باشد\n" + err.Message);
return;
}
خب کار ما تموم شد:بوس:
حالا سایتتون رو اجرا کنید میبینید که آدرس بار سایتتون به شکل زیر هستش
125800
اصلا لزومی نداره که صفحه upload.aspx رو اینجا ببینید این صفحه باید جزو صفحاتتون باشه چون من بغیر این صفحه ای نداشتم این صفحه رو صفحه StartUp انتخاب کردم مسلما سایت شما میتونه چندین صفحه داشته باشه که یکیش همون upload.aspx هستش
خب حالا فرم ویندوزیتون رو اجرا کنید و از آدرس بار سایتتون عبارت قبل از upload.aspx رو کپی کنید (این عبارت میتونه هرچیزی باشه.یعنی اینکه میتونه آدرس IP باشه یا آدرس سایت شما باشه یا تو این شگل میبینید که چون لوکال هستش عبارت لوکال هاست بهمراه یه پورتی که براش باز کرده هستش)
مثال :
www.mysite.com (http://www.mysite.com)
192.168.0.1:1010
localhost:2025
یا هرچیزه دیگه
بعد از کپی کردن اونو تو فرم زیر تو قسمت آدرس هاست وارد کنید .با انتخاب فایل یه فایل از سیستمتون رو انتخاب کنید
قسمت بعدی آدرس ذخیره سازی فایلهاتون رو سرور هستش.شما تو سایتتون یه فولدر ساختید به نام Files
آدرسی که اینجا وارد میکنید به اون فولدر Files اضافه میشه و فایلتون تو این آدرس اپلود میشه
اگه خواستید میتونید این آدرس رو رو تو دیتا بیس هم ذخیر کنید
شکل زیر رو ببینید
125794
بعد از اینکه اطلاعات رو وارد کردید اگه دکمه شروع آپلود رو بزنید فایلتون رو سایت آپلود میشه
125795
125796
امیدوارم بدرد دوستان بخوره
صلوات یادتون نره