PDA

View Full Version : سوال: null برگرداندن request.file در کد upload!



roshanak_g
شنبه 24 اردیبهشت 1390, 11:06 صبح
با سلام
من sample های زیادی رو از اینترنت در مورد کد upload سرچ کردم ولی متاستفانه همه این کدها در قسمت
Request.File دچار مشکل هستند ،یعنی کلا مقدار null برمیگردانند:عصبانی++:.کد رو در اینجا میزارم تا هرکسی علت خطاشو میدونه لطف کنه بگه
با تشکر فراوان

<% using (Html.BeginForm("", "home", FormMethod.Post, new {enctype="multipart/form-data"}))
{%>
<input type="file" name="FileUpload1" /><br />
<input type="submit" name="Submit" id="Submit" value="Upload" />
<% }%>




public class HomeController : Controller
{
public ActionResult Index()
{
foreach (string upload in Request.Files)
{
if (!Request.Files[upload].HasFile()) continue;
string path = AppDomain.CurrentDomain.BaseDirectory + "uploads/";
string filename = Path.GetFileName(Request.Files[upload].FileName);
Request.Files[upload].SaveAs(Path.Combine(path, filename));
}
return View();
}
}

madadi
دوشنبه 26 اردیبهشت 1390, 04:13 صبح
دو نکته در کد شما به نظرم می رسه که باید چک کنید :
1- پارامتر اول Html.BeginForm باید نام اکشن مورد نظر باشه که الان شما خالی گذاشتید و بهتره که این کد را به جای قراردادن در اکشن Index در یک اکشن دیگه بگذارید که موقع لود شدن صفحه صدا زده نشود
2- بعد از حلقه for-each خط زیر را اضافه کنید :

HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;