7 ضمیمه
نحوه آپلود فایل در سایت با برنامه ویندوزی سی شارپ + سورس و آموزش
سلام خدمت دوستان
یه آموزش کوچولو میخوام برا دوستانی که میخوان یه فایلی رو رو هاستشون آپلود کنن داشته باشم امیدوارم بدرد دوستان بخوره
البته این اموزش شاید ظاهرا کوچیک باشه ولی کاربردهای زیادی میتونه داشته باشه و شما میتونید حتی از این طریق یک 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
192.168.0.1:1010
localhost:2025
یا هرچیزه دیگه
بعد از کپی کردن اونو تو فرم زیر تو قسمت آدرس هاست وارد کنید .با انتخاب فایل یه فایل از سیستمتون رو انتخاب کنید
قسمت بعدی آدرس ذخیره سازی فایلهاتون رو سرور هستش.شما تو سایتتون یه فولدر ساختید به نام Files
آدرسی که اینجا وارد میکنید به اون فولدر Files اضافه میشه و فایلتون تو این آدرس اپلود میشه
اگه خواستید میتونید این آدرس رو رو تو دیتا بیس هم ذخیر کنید
شکل زیر رو ببینید
ضمیمه 125794
بعد از اینکه اطلاعات رو وارد کردید اگه دکمه شروع آپلود رو بزنید فایلتون رو سایت آپلود میشه
ضمیمه 125795
ضمیمه 125796
امیدوارم بدرد دوستان بخوره
صلوات یادتون نره
نقل قول: نحوه آپلود فایل در سایت با برنامه ویندوزی سی شارپ + سورس و آموزش
باتشکر از شما
در هاستهای لینوکسی هم میشه به زبان php با حجم کمتر کد نویسی اینو پیاده سازی کرد
<?php
$uploaddir = 'upload/';
$fn = $uploaddir . basename($_FILES['file']['name']);
$fno = $_FILES['file']['tmp_name'];
$r = move_uploaded_file($fno ,$fn) ;
if ( $r == true ) {
print "True" ;
} else {
print "False";
}
?>
نقل قول: نحوه آپلود فایل در سایت با برنامه ویندوزی سی شارپ + سورس و آموزش
نقل قول:
نوشته شده توسط
shahryari
باتشکر از شما
در هاستهای لینوکسی هم میشه به زبان php با حجم کمتر کد نویسی اینو پیاده سازی کرد
<?php
$uploaddir = 'upload/';
$fn = $uploaddir . basename($_FILES['file']['name']);
$fno = $_FILES['file']['tmp_name'];
$r = move_uploaded_file($fno ,$fn) ;
if ( $r == true ) {
print "True" ;
} else {
print "False";
}
?>
بله درسته روشهای مختلفی برای این کار هستش
نقل قول: نحوه آپلود فایل در سایت با برنامه ویندوزی سی شارپ + سورس و آموزش
سلام من نمیخوام فایلم رو از سیستم آپلود کنم...
میخواستم بدونم که میشه عکس ها رو مستقیم از پیکچر باکس ((درون برنامه ویندوزی)) در هاست ذخیره کرد؟
یعنی دیگه مجبور نباشیم عکس رو ذخیره کنیم و بعد به هاست انتقال بدیم...
نقل قول: نحوه آپلود فایل در سایت با برنامه ویندوزی سی شارپ + سورس و آموزش
سلام دوست متشکرم بابت اموزش خوبتون . :تشویق::چشمک::چشمک:
نقل قول: نحوه آپلود فایل در سایت با برنامه ویندوزی سی شارپ + سورس و آموزش
میشه بگید چجوری میشه این فایل aspx رو روی سایت آپلود کرد جوری که کار کنه؟
نقل قول: نحوه آپلود فایل در سایت با برنامه ویندوزی سی شارپ + سورس و آموزش
نقل قول:
نوشته شده توسط
shahryari
باتشکر از شما
در هاستهای لینوکسی هم میشه به زبان php با حجم کمتر کد نویسی اینو پیاده سازی کرد
<?php
$uploaddir = 'upload/';
$fn = $uploaddir . basename($_FILES['file']['name']);
$fno = $_FILES['file']['tmp_name'];
$r = move_uploaded_file($fno ,$fn) ;
if ( $r == true ) {
print "True" ;
} else {
print "False";
}
?>
من یه وبسرویس php نوشتم که میخوام فایل صوتی رو از برنامه سی شارپی بهش بفرستم و با کدهای php و... آپلود بشه
ولی php آدرس فایل کلاینت رو نمیفهمه،
میخواستم بدونم راهی هست php آدرس کلاینت رو بفهمه؟
یا راهی هست فایل رو بصورت بایت یا ... از سی شارپ بفرستم و php بگیرتش و آپلود کنه؟
نقل قول: نحوه آپلود فایل در سایت با برنامه ویندوزی سی شارپ + سورس و آموزش
نقل قول: نحوه آپلود فایل در سایت با برنامه ویندوزی سی شارپ + سورس و آموزش
سلام خیلی تشکر از اموزش خوبتون
یک سوال میمونه اونم هر کسی میتونه به ادرس تون فایل بده و سایت اون رو ذخیره میکنه، اگر توکن براش در نظر نگرفتید یا قسمت auth نداره که متوجه بشید نرم افزار شما داره فایل رو میفرسته، به نظرتون منابع سرورتون برای دریافت های پشت سرهم و انواع فایل دچار مشکل نمیشه؟؟