Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Armazenar arquivo no banco de dados SQL Server usando .Net MVC3 com Entity Framework


Aqui estão alguns "códigos de exemplo";) Eu omiti um monte de declarações, validação, etc. para que o código não seja executado como está, mas você deve ser capaz de entender a ideia. Use a solicitação do tipo ajax para enviar seu formulário de arquivo se não quiser atualizar a página.
// model
public class UploadedImage
{
    public int UploadedImageID { get; set; }
    public string ContentType { get; set; }
    public byte[] File { get; set; }
}

// controller
public ActionResult Create()
{
    HttpPostedFileBase file = Request.Files["ImageFile"];

    if (file.ContentLength != 0)
    {
        UploadedImage img = new UploadedImage();
        img.ContentType = file.ContentType;
        img.File = new byte[file.ContentLength];

        file.InputStream.Read(img.File, 0, file.ContentLength);

        db.UploadedImages.Add(img);
        db.SaveChanges();
    }

    return View();
}

ActionResult Show(int id) 
{
    var image = db.UploadedImages.Find(id);
    if (image != null)
    {
        return File(image.File, image.ContentType, "filename goes here");
    }
}