Сохранение загруженного документа в базе данных с использованием Entity Framework (через MVC) - PullRequest
2 голосов
/ 10 ноября 2010

У кого-нибудь есть пример того, как сохранить загруженный документ (будь то Word или PDF, и т. Д. .) В БД SQL Server 2008 с использованием Entity Framework?

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

Раньше я много занимался хранением документов в старых БД, и поскольку в SQL Server 2008 появились новые данныетипы, может кто-то предложить, что я должен использовать для моего загруженного документа (это все еще изображение)?

Кроме того, как вы можете видеть из моего кода, если у меня есть загруженный документ в виде байтового массива (или, пожалуйста,предложить иначе) как мне передать это своей сущности?

Вот что у меня так далеко:

[HttpPost]
public ActionResult Create(HttpPostedFileBase fileUpload)
{
    if (fileUpload == null) return View();

    if (fileUpload.ContentLength == 0) return View();

    // not sure whether this is useful or the method below this
    var reader = new StreamReader(fileUpload.InputStream);

    foreach (string file in Request.Files)
    {
        var hpf = Request.Files[file] as HttpPostedFileBase;
        if (hpf.ContentLength == 0) continue;
        var savedFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Path.GetFileName(hpf.FileName));

        hpf.SaveAs(savedFileName);

        var curFile = System.IO.File.Open(file, FileMode.Open);
        var fileLength = curFile.Length;

        var tempFile = new byte[fileLength];
        curFile.Read(tempFile, 0, Convert.ToInt32(fileLength));

        var jobFile = new JobFile
                              {
                                  UploadDate = DateTime.Now,
                                  UploadedBy = User.Identity.Name,
                                  FileName = savedFileName,
                                  ContentType = hpf.ContentType
                              };
        jobFile.FileData = 

        _jobFileRepository.Save();
    }
    return RedirectToAction("Index");
}

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 11 ноября 2010

Предполагая, что у вас есть FileData как двоичный тип.

jobFile.FileData = tempFile.ToArray ();

...