como puedo usalor HttpPostedFileBase en asp. net core? - PullRequest
0 голосов
/ 12 апреля 2020

HttpPostedFileBase

Я хочу решить эту проблему, чтобы сохранить изображение в базе данных .. Я все еще не запускаю проект, если у меня есть ошибки или более простой способ сделать это .. help

 public IActionResult Create(Productos prod [Bind("codigoFoto"] Productos productos, HttpPostedFileBase FotoProducto) 
        {
            //Console.WriteLine(JObject.FromObject(prod));
            using (var _context = new ApplicationDbContext())
            {
                var Categoria = _context.Categorias.Where(i => i.IsActive && i.Id == prod.Categoria.Id).FirstOrDefault(); 
                if (prod != null)
                {
                    if (FotoProducto != null && FotoProducto.ContentLength > 0)
                    {
                        byte[] imageData = null;

                        using (var binaryReader = new BinaryReader(FotoProducto.InputStream))
                        {
                            imageData = binaryReader.ReadBytes(FotoProducto.ContentLength);
                        }
                        //setear la imagen a la entidad que se creara
                        productos.Foto = imageData;
                    }

Quiero resolver este Problema para almacenar la imagen en base de datos. Todavía no ejecuto el proyecto, si ten go заблуждения о том, что у вас есть прекрасная идея ... ayuda

Ответы [ 2 ]

1 голос
/ 12 апреля 2020

In . Net Core Вы должны использовать IFormFile вместо HttpPostedFileBase.

Заменить

Create(Productos prod [Bind("codigoFoto"] Productos productos, HttpPostedFileBase FotoProducto)

на

Create(Productos prod [Bind("codigoFoto"] Productos productos, IFormFile FotoProducto)

эта ссылка может быть полезна для вас

0 голосов
/ 23 апреля 2020

Большое спасибо, это послужило мне

Create(Productos prod [Bind("codigoFoto"] Productos productos, IFormFile FotoProducto)

, но мне также пришлось внести изменения в этот код

using (var binaryReader = new BinaryReader(FotoProducto.InputStream))

var filePath = Path.GetTempFileName();
                    var file = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

                    file = Path.Combine(file, FotoProducto.FileName);


                    using (var stream = new FileStream(file, FileMode.Create))
...