PDA

View Full Version : حرفه ای: آپلود فایل بدون کنترل asp.net



majid.gymnast
سه شنبه 26 شهریور 1392, 19:19 عصر
باسلام
دوستان میخواستم فایلی رو بدون کنترل asp.net آپلود کنم و نمونه کدش رو پایین میزارم ولی همیشه مقدار null رو برمیگردونه؟
//آپلود عکس کاربر
string CustomerPicName = "";
HttpPostedFile UserAvatar = Request.Files["txtuserpic"];
if ( err==false && UserAvatar != null && UserAvatar.ContentLength > 0)
{
string fileExt = System.IO.Path.GetExtension(UserAvatar.FileName);

if (fileExt == ".jpeg" || fileExt == ".png" || fileExt == ".jpg" || fileExt == ".gif")
{
if (UserAvatar.ContentLength < 52000)/*معادل50کیلوبایت*/
{
try
{
if (!Directory.Exists(Server.MapPath("/majicpanel/files/useravatar")))
{ Directory.CreateDirectory(Server.MapPath("/majicpanel/files/useravatar")); }
CustomerPicName = Path.GetRandomFileName() + UserAvatar.FileName;
UserAvatar.SaveAs(Server.MapPath("/majicpanel/files/useravatar/")+CustomerPicName);
}
catch (Exception ex)
{
insertfrmmsg += "<br />" + "&raquo; " + ex.Message; err = true;
}
}
else
{
insertfrmmsg += "<br />" + "&raquo; " + "حجم عکس باید کمتر از 50 کیلوبایت باشد. ."; err = true;
}
}
else
{
insertfrmmsg += "<br />" + "&raquo; " + "فرمت عکس اشتباه است ."; err = true;
}
}

fakhravari
سه شنبه 26 شهریور 1392, 23:09 عصر
تو ابدیت پنل؟

majid.gymnast
چهارشنبه 27 شهریور 1392, 10:51 صبح
نه تو آپدیت پنل نیست

mohammad kafiyan
چهارشنبه 27 شهریور 1392, 12:17 عصر
کد مربوط به jquery.ajax که نوشتی را هم بگذار اگر از این روش استفاده کردی
این دستورات سمت سرور کجا نوشتی در صفحه aspx یا httphandler

majid.gymnast
چهارشنبه 27 شهریور 1392, 12:20 عصر
با آجاکس ننوشتم. این کدها هم تو صفحه aspx هستش . جایی که فرم html رو تو این صفحه مدیریت میکنم و باید این رو هم بگم که همراه این کنترل آپلود کنترلهای input و select هم دارم که اطلاعات این کنترلها رو میتونم دریافت کنم و کنترل آپلود رو نمیتونم و همش null برمیگردونه

mohammad kafiyan
چهارشنبه 27 شهریور 1392, 13:12 عصر
من هنوز متوجه نشدم که شما از کنترل فایل آپلود asp.net استفاده می کنید یا نه ؟؟
این خط کد چیه؟؟؟


HttpPostedFile UserAvatar = Request.Files["txtuserpic"];

majid.gymnast
چهارشنبه 27 شهریور 1392, 13:28 عصر
نه عزیز من این خط یعنی فایل انتخاب شده برای کنترل "txtuserpic" رو بزار تو httppostedfile تا بتونم با asp.net آپلودش کنم. لینک آموزش رو هم پایین میزارم
http://stackoverflow.com/questions/569565/uploading-files-in-asp-net-without-using-the-fileupload-server-control

mohammad kafiyan
چهارشنبه 27 شهریور 1392, 23:53 عصر
حالا علتی داشت که از خود کنترل فایل آپلود استفاده نکردید؟؟؟؟
برای چی از این روش استفاده کردید؟؟؟؟
:متفکر:

majid.gymnast
پنج شنبه 28 شهریور 1392, 08:34 صبح
چون میخواستم اطلاعات رو تو دیتابیس ذخیره کنم . و بعدش تو یکی از صفحات وب از دیتابیس بخونم و نشون بدم. اونوقت برای انجام این کار دیگه نمیشه از کنترلهای دات نت استفاده کرد چون کامپایلر نمیتونه اونا رو ترجمه کنه.

mohammad kafiyan
پنج شنبه 28 شهریور 1392, 10:48 صبح
کافی شما اطلاعات را ذخیره می کردید با id querystring رکورد مورد نظر را به صفحه که می خواستید پاس می دادید و در رویداد فرم load همان صفحه یک select به data می زدید و اطلاعات را نمایش می دادید دیگه نیازی به این کار هم نبود

majid.gymnast
شنبه 30 شهریور 1392, 09:03 صبح
باتشکر از جواب شما mohammad kafiyan
ولی باید بگم که داریم از بحث اصلی فاصله میگیریم این روش شما برای من بی فایده هست. من فقط میخوام یه فایلی رو با کنترل آپلود html آپلود کنم.