PDA

View Full Version : سوال: نحوهUploadکردن فایل



negin_m
یک شنبه 21 فروردین 1390, 12:19 عصر
باسلام
[CODE][
public ActionResult Index(){ foreach (string upload in Request.Files) { if (!Request.Files[upload].HasFile()) continue; string mimeType = Request.Files[upload].ContentType; Stream fileStream = Request.Files[upload].InputStream; string fileName = Path.GetFileName(Request.Files[upload].FileName); int fileLength = Request.Files[upload].ContentLength; byte[] fileData = new byte[fileLength]; fileStream.Read(fileData, 0, fileLength); const string connect = @"Server=.\SQLExpress;Database=FileTest;Trusted_Conn ection=True;"; using (var conn = new SqlConnection(connect)) { var qry = "INSERT INTO FileStore (FileContent, MimeType, FileName) VALUES (@FileContent, @MimeType, @FileName)"; var cmd = new SqlCommand(qry, conn); cmd.Parameters.AddWithValue("@FileContent", fileData); cmd.Parameters.AddWithValue("@MimeType", mimeType); cmd.Parameters.AddWithValue("@FileName", fileName); conn.Open(); cmd.ExecuteNonQuery(); } } return View();}/CODE]
من کدبالارابرای Upload فایل نوشتم که مقدار متغیرuploadراnullبرمیگرداندودر نتیجه واردحلقه نمیشوددرصورت امکان راهنمایی نمایید
اگرکدبهتری در این زمینه داریدکه ازlinqاستفاده کرده باشدممنون میشوم برایم ارسال کنید
باتشکرقبلی

madadi
سه شنبه 20 اردیبهشت 1390, 05:19 صبح
من که نتونستم چیزی که شما نوشته اید را بخونم ولی کد زیر را خودم دارم استفاده می کنم و امیدوارم مفید باشه :


public ActionResult Index()
{
return View();
}
public ActionResult UploadFile()
{
if (User.Identity.IsAuthenticated)
{



int fileSize = 5242880; // Size limited to 5 MB
try
{
foreach (string file in Request.Files)
{
HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
if (hpf.ContentLength >= fileSize || hpf.ContentLength == 0)
{
// error size exceeding
ViewData["message"] = "File size should be lower than 5 MB.";
return View();
}
// Checking for invalid extentions
string[] ValidExt = { ".png", ".jpg", ".gif", ".doc", ".pdf", ".docx" };
string curExt = System.IO.Path.GetExtension(hpf.FileName).ToLower( );
string curNameWithoutExt = System.IO.Path.GetFileNameWithoutExtension(hpf.Fil eName).ToLower();
var list = from n in ValidExt where n.Equals(curExt) select n;
if (list.Count() == 0 || list == null)
{
// Extention is not Valid
ViewData["message"] = "File Extention is not Valid.";
return Redirect(Request.UrlReferrer.ToString());
//return View();
}
string newFileName = "Upload\\en\\" + curNameWithoutExt + DateTime.Now.ToString().Replace('/', ' ').Replace(':', '_') + DateTime.Now.Millisecond.ToString().Replace(':', '_') + curExt;

string savedFileName = AppDomain.CurrentDomain.BaseDirectory + newFileName;

//Copying the file
hpf.SaveAs(savedFileName);

// Saving in UploadedFiles table

ViewData["Message"] = "Uploaded Succesfully.";

}
}
catch (Exception ex)
{
// To Do : Log error
ViewData["Message"] = "Error in Saving file.";
return View();
}

}
else
{
ViewData["Message"] = "Please login first";

}

return Redirect(Request.UrlReferrer.ToString());
//return View();
}
}

alimomen54
جمعه 28 مرداد 1390, 17:25 عصر
بهترین ابزار برای آپلود فایل چی می تونه باشه؟

hamed_hossani
دوشنبه 31 مرداد 1390, 03:44 صبح
سلام
IDE برای کار با Linq
http://www.albahari.com/