pa, estou com a seguinte duvida… tenho um código em asp.net que tem por objetivo subir uma imagem pro banco de dados, e preciso adapto de forma a fazer subir varias, só que não tenho ideia de como fazer isso… segue o código presente,
Model
public int ClienteId { get; set; }
[Required(ErrorMessage ="Informe o nome do cliente")]
public string Nome { get; set; }
[Required(ErrorMessage = "Informe o email do cliente")]
[EmailAddress]
public string Email { get; set; }
[Required(ErrorMessage = "Informe o endereco do cliente")]
public string Endereco { get; set; }
public byte[] Imagem { get; set; }
public string ImagemTipo { get; set; }
}
Controller
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ClienteId,Nome,Email,Endereco,Imagem,ImagemTipo")] Cliente cliente,HttpPostedFileBase upload)
{
if (ModelState.IsValid)
{
if (upload != null && upload.ContentLength > 0) {
var arqImagem = new Cliente {
ImagemTipo=upload.ContentType
};
using (var reader = new BinaryReader(upload.InputStream))
{
arqImagem.Imagem = reader.ReadBytes(upload.ContentLength);
}
cliente.Imagem = arqImagem.Imagem;
cliente.ImagemTipo = arqImagem.ImagemTipo;
}
db.Clientes.Add(cliente);
db.SaveChanges();
TempData["mensagem"] = string.Format("{0} : for incluido com sucesso", cliente.Nome);
return RedirectToAction("Catalogo");
}
return View(cliente);
}
Ao tentar fazer isso modifiquei o campo Imagem no model para:
** public IEnumerable<byte[]> Imagem { get; set; }*
e o controller assim:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ClienteId,Nome,Email,Endereco,Imagem,ImagemTipo")] Cliente cliente, HttpPostedFileBase upload)
{
if (ModelState.IsValid)
{
if (upload != null && upload.ContentLength > 0)
{
var arqImagem = new Cliente
{
ImagemTipo = upload.ContentType
};
using (var reader = new BinaryReader(upload.InputStream))
{
arqImagem.Imagem = reader.ReadBytes(upload.ContentLength);
}
cliente.Imagem = arqImagem.Imagem;
cliente.ImagemTipo = arqImagem.ImagemTipo;
}
db.Clientes.Add(cliente);
db.SaveChanges();
TempData["mensagem"] = string.Format("{0} : for incluido com sucesso", cliente.Nome);
return RedirectToAction("Catalogo");
}
return View(cliente);
}
e tenho o seguinte erro : Erro CS0029 Não é possível converter implicitamente tipo "byte[]" em "System.Collections.Generic.IEnumerable<byte[]>" EnumerableImagem