Попытка загрузить файл в базу данных и мне было интересно, если кто-то может мне помочь, потому что я немного застрял, и нет никаких ошибок. Что происходит, мой взгляд показывает, куда я иду, чтобы загрузить свой файл. Как только я нажимаю кнопку загрузки, он возвращает меня на страницу загрузки приложения CreateCover, однако он не может загрузить что-либо в базу данных.
Если кто-нибудь может предложить какую-либо помощь, я был бы рад:)
PS: http://www.mikesdotnetting.com/Article/125/ASP.NET-MVC-Uploading-and-Downloading-Files -> Это учебник, которому я следовал изначально. Я пытался использовать это как основу для того, что я хотел сделать.
Вот фрагменты моего кода:
CoverController.cs
//
//GET: /File/CreateCover
public ActionResult CreateCover()
{
Cover cover = new Cover();
return View(cover);
}
//
//POST: /File/CreateCover
[HttpPost]
public ActionResult CreateCover(FormCollection formvalues)
{
Cover cover = new Cover();
cover.CoverMimeType = Request.Files["CoverUpload"].ContentType;
Stream fileStream = Request.Files["CoverUpload"].InputStream;
cover.CoverFileName = Path.GetFileName(Request.Files["CoverUpload"].FileName);
int fileLength = Request.Files["CoverUpload"].ContentLength;
cover.CoverFileContent = new byte[fileLength];
fileStream.Read(cover.CoverFileContent, 0, fileLength);
filerepository.Save();
return View(cover);
}
Cover.cs
[MetadataType(typeof(Cover_Validation))]
public partial class Cover
{
//
}
public class Cover_Validation
{
[Required(ErrorMessage = "Please enter a file")]
[StringLength(50, ErrorMessage = "You have not selected a cover image to upload")]
public byte[] CoverFileContent;
[Required(ErrorMessage = "A MimeType is required")]
[StringLength(13, ErrorMessage = "Your file must contain a MimeType")]
public string CoverMimeType { get; set; }
[Required(ErrorMessage = "A Filename is required")]
[StringLength(13, ErrorMessage = "Your file must have a filename")]
public string CoverFileName { get; set; }
}
Фрагмент из FileRepository, относящийся к добавлению обложки
//Insert Cover Data
public void AddCoverData(Cover cover)
{
entities.Covers.AddObject(cover);
}
И, наконец, вот представление CreateCover
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<SampleApp.Models.Cover>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
CreateCover
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>CreateCover</h2>
<% using (Html.BeginForm("CreateCover", "Cover", FormMethod.Post, new { enctype = "multipart/form-data" }))
{ %>
<asp:Label ID="Label2" runat="server" Text="Please Select your eBook Cover" /><br />
<input type="file" name="CoverUpload" /><br />
<input type="submit" name="submit" id="Submit" value="Upload" />
<% } %>
<div>
<%: Html.ActionLink("Back to List", "Index") %>
</div>
</asp:Content>