我正在尝试将一些数据(名称,姓氏,文件名,文件内容)上载到数据库,但是当我按下“提交”按钮时,它会进入带有值PostUser
的函数null
和我收到了这个error。
这是我的代码的一部分:
public class User
{
[Key]
public int Id { get; set; }
[Required]
public string Nome { get; set; }
[Required]
public string Cognome { get; set; }
public string FileName { get; set; }
public byte[] PdfContent { get; set; }
}
public class PdfViewModel
{
/// <summary>
/// L'oggetto pdf che verrà salvato a database
/// </summary>
public User User { get; set; }
/// <summary>
/// Il file che viene postato dalla finestra di upload: non ha ancora il datatype richiesto dal modello Pdf
/// Perciò creo una nuova proprietà per elaborarlo in binario prima di inserirlo nella table Pdfs
/// </summary>
public HttpPostedFile HttpPostedFileBase { get; set; }
}
[ResponseType(typeof(PdfViewModel))]
public async Task<IHttpActionResult> PostUser(PdfViewModel pdfViewModel)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
pdfViewModel.User.PdfContent = ProvaUnoManager.GetEncodedFile(pdfViewModel.HttpPostedFileBase);
pdfViewModel.User.FileName = pdfViewModel.HttpPostedFileBase.FileName;
db.Users.Add(pdfViewModel.User);
db.SaveChanges();
await db.SaveChangesAsync();
return CreatedAtRoute("DefaultApi", new { id = pdfViewModel.User.Id }, pdfViewModel);
}
这是一个ASP.NET Web应用程序(.NET Framework)