ASP.Net WebApi2 Отправить форму с файлом pdf / doc - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь загрузить некоторые данные (имя, фамилию, имя файла, содержимое файла) в базу данных, но когда я нажимаю кнопку отправки, она входит в функцию PostUser со значением null, и я получаю это ошибка .

Это часть моего кода:

Модель (CS)

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; }
}

ViewModel (CS)

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 (.NET Framework)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...