示例#1
0
        public IActionResult UploadImagem(IList <IFormFile> arquivos)
        {
            lstArquivos = new List <Arquivo>();
            if (arquivos.Count() > 0)
            {
                int          i = 0;
                MemoryStream ms;


                arquivos.ToList().ForEach(x =>
                {
                    //cria um memory stream para gravar os arquivos.
                    ms = new MemoryStream();
                    //lê os bytes do arquivo e o copia dentro da memoryStream.
                    x.OpenReadStream().CopyTo(ms);

                    lstArquivos.Add(

                        new Arquivo()
                    {
                        ContentType           = x.ContentType,
                        Posicao               = i++,
                        Nome                  = "panel_" + i.ToString(),
                        CategoriaArquivoId    = (int)CategoriaArquivoEnum.FOTO,
                        SubCategoriaArquivoId = (int)SubCategoriaArquivoEnum.FOTO_CARROUSSEL,
                        NomeSalvar            = x.FileName,
                        Tamanho               = "1500x500",
                        ArquivoArray          = ms.ToArray()
                    });
                });


                ArquivoHelper.SalvarLstArquivos(lstArquivos, _imagePath);

                //Seta o path do arquivo de acordo com o caminho salvo.
                SetFilesPath(lstArquivos, AssemblyConstants.GetPathImageByBuild(FileConstants.PROD, AssemblyConstants.PATH_IMAGE_INDEX_CARROUSSEL));

                //Formata os arquivos para uma entidade de transporte
                FormatAndSendImages(lstArquivos);

                //retorna uma lista com as imagens.
                var listReturn = _servicoImagem.GetArquivosBySubCategoria((int)SubCategoriaArquivoEnum.FOTO_CARROUSSEL);

                return(View("Index", lstArquivos));
            }

            return(View("Index"));
        }