PDA

View Full Version : راهنمایی در رابطه با اپلود فایل با C#



lord_ma3ter
شنبه 23 فروردین 1393, 20:53 عصر
با سلام خدمت همه .
من میخواستم که یک برنامه بنویسم (با C#) که بیاد یک فایل رو که من بهش دادم آپلود کنه توی یک آدرس URL و این کار باید از طریق http انجام بگیره با متد post پورت 80 .
فرض کنید که :


file name :filename.txt
url= http://sitename.com/upload

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

و قسمت دوم سوال من :
چطور میتونم که یک فایل رو از رو اینترنت داونلود کنم فرض کنید که url داونلود http://sitename.com/code.txt باشه ولی من بخوام که به وسیله C# داونلودش کنم و بعد ازش استفاده کنم
اگه کسی اطلاعاتی در این زمینه داره یه راهنمایی بکنه
ممنون .

us1234
شنبه 23 فروردین 1393, 22:12 عصر
System.Net.WebClient Client = new System.Net.WebClient ();
Client.Headers.Add("Content-Type","binary/octet-stream");
byte[] result = Client.UploadFile (" http://sitename.com/upload","POST","C:\filename.txt");
String s = System.Text.Encoding .UTF8 .GetString (result,0,result.Length );

lord_ma3ter
یک شنبه 24 فروردین 1393, 11:30 صبح
ممنون ولی این کدی که شما نوشتی برای کلاینت هست و یه سرور باید اونطرف منتظر من باشه .
سایته مال من نیست و با کد php نوشته شده میخوام کار دستی که خودم انجام میدم به صورت اتوماتیک باشه

Mojtaba.Shateri
یک شنبه 24 فروردین 1393, 11:50 صبح
ممنون ولی این کدی که شما نوشتی برای کلاینت هست و یه سرور باید اونطرف منتظر من باشه .
سایته مال من نیست و با کد php نوشته شده میخوام کار دستی که خودم انجام میدم به صورت اتوماتیک باشه

شما یه برنامه ویندوزی با #C میخوای بنویسی که در فرمش دوتا button داشته باشه و یک textbox که button اولی Browse و دومی Upload باشه.
کاربر وقتی Browse میزنه OpenDialog براش باز بشه و بعد از انتخاب ، فایل و مسیرش داخل textbox قرار بگیره. بعد که روی آپلود کلیک کرد ، فایل با پروتکل http و پورت 80 به آدرس url (که سایتش مال خود شما نیست و با php نوشته شده) ارسال بشه. درست فهمیدم؟!

lord_ma3ter
یک شنبه 24 فروردین 1393, 12:47 عصر
تا حدودی , ببینید روی یک صفحه وب (یک سایت اینترنتی) این دو دکمه وجود داره شما وارد سایت میشید میزنید brows یه opendialog برای شما باز میشه
و بعد میزنید submit و اطلاعاتی رو روی وب بهتون نشون میده .
حالا من یه برنامه ویندوزی میخوام که فایل رو بهش بدم برام بره رو همون سایته آپلود کنه بعدش دکمه submit بزنه و اطلاعاتی رو که برمیگردونه رو به من روی همون کنسول یا حالا برنامه ویندوزی به من نشون بده . مثل یک ربات .

shahryari
یک شنبه 24 فروردین 1393, 12:53 عصر
باید در سمت سرورتان ، در فایل 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";
}
?>
سپس توسط کدهای پست شماره دو فایل رو به سرور بفرستید
بعدا سر فرصت (اگه عمری) بود یه اموزش مفصل بهمراه نمایش فرایند آپلود در نوار پیشرفت را خواهم گذاشت

lord_ma3ter
یک شنبه 24 فروردین 1393, 12:59 عصر
دوست عزیز سرور مال من نیست و به کد هاش دسترسی ندارم

us1234
یک شنبه 24 فروردین 1393, 14:02 عصر
ممنون ولی این کدی که شما نوشتی برای کلاینت هست و یه سرور باید اونطرف منتظر من باشه .
سایته مال من نیست و با کد php نوشته شده میخوام کار دستی که خودم انجام میدم به صورت اتوماتیک باشه

امکانش نیست مگر 1- در سرور فایل پی اچ پی یا aspx فایل پست شده را دریافت کنند و یا 2- با پروتکل اف تی پی به سرور وصل بشید و مستقیم فایل را بذارید .

اگر امکان همچین چیزی که شما نیاز دارید بود که اصلا امنیت معنا نداشت و هر کی هرچی دوست داشت هر جا که دوست داشت آپلود میکرد !

lord_ma3ter
یک شنبه 24 فروردین 1393, 14:35 عصر
امکانش نیست مگر 1- در سرور فایل پی اچ پی یا aspx فایل پست شده را دریافت کنند و یا 2- با پروتکل اف تی پی به سرور وصل بشید و مستقیم فایل را بذارید .

اگر امکان همچین چیزی که شما نیاز دارید بود که اصلا امنیت معنا نداشت و هر کی هرچی دوست داشت هر جا که دوست داشت آپلود میکرد !

دوست عزیز با متد post در http میخواستم آپلود کنم
عرض کردم من میتونم فایل ـپلود کنم میخواستم که به صورت اتوماتیک با نوشتن یک برنامه
این کار صورت بگیره . من که نمیخوام امنیت سایت رو دور بزنم .
به هر حال ممنون

us1234
یک شنبه 24 فروردین 1393, 15:54 عصر
دوست عزیز با متد post در http میخواستم آپلود کنم
عرض کردم من میتونم فایل ـپلود کنم میخواستم که به صورت اتوماتیک با نوشتن یک برنامه
این کار صورت بگیره . من که نمیخوام امنیت سایت رو دور بزنم .
به هر حال ممنون

کدی که من در پست شماره 2 زدم داره فایل را POST میکنه ، کدی که دوستمون در پست شماره 6 زدند هم با پی اچ پی داره فایل را دریافت میکنه .
مشکل شما دقیقا چیه ؟؟

Sir-Programmer
یک شنبه 24 فروردین 1393, 20:19 عصر
us1234 (http://barnamenevis.org/member.php?217337-us1234) عزیز درست میفرماید با استفاده از POST هم بعید میدونم بشه یا باید از اف تی پی استفاده کنی یا سایت آپلود باید مال خودتون باشه