Я пытаюсь загрузить файл через форму, а затем сохранить его в SQL в виде большого двоичного объекта.
Моя форма уже работает нормально, моя база данных полностью в состоянии принять большой двоичный объект, и у меня естьКонтроллер, который принимает файл, сохраняет его в локальном каталоге:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult FileUpload(int id, HttpPostedFileBase uploadFile)
{
//allowed types
string typesNonFormatted = "text/plain,application/msword,application/pdf,image/jpeg,image/png,image/gif";
string[] types = typesNonFormatted.Split(',');
//
//Starting security check
//checking file size
if (uploadFile.ContentLength == 0 && uploadFile.ContentLength > 10000000)
ViewData["StatusMsg"] = "Could not upload: File too big (max size 10mb) or error while transfering the file.";
//checking file type
else if(types.Contains(uploadFile.ContentType) == false)
ViewData["StatusMsg"] = "Could not upload: Illigal file type!<br/> Allowed types: images, Ms Word documents, PDF, plain text files.";
//Passed all security checks
else
{
string filePath = Path.Combine(HttpContext.Server.MapPath("../Uploads"),
Path.GetFileName(uploadFile.FileName)); //generating path
uploadFile.SaveAs(filePath); //saving file to final destination
ViewData["StatusMsg"] = "Uploaded: " + uploadFile.FileName + " (" + Convert.ToDecimal(uploadFile.ContentLength) / 1000 + " kb)";
//saving file to database
//
//MISSING
}
return View("FileUpload", null);
}
Теперь все, что мне не хватает - это поместить файл в базу данных.Я не мог найти что-либо по этому вопросу ... Я нашел какой-то способ сделать это на обычном веб-сайте, но ничего в MVC2.
Любая помощь будет приветствоваться!
Спасибо.