Ejemplo n.º 1
0
        public ArquivoFile Upload(ArquivoFile arquivoFile)
        {
            try
            {
                Guid idFile = Guid.NewGuid();
                if (arquivoFile.ConteudoFileBase64 == null || arquivoFile.ConteudoFileBase64.Length == 0)
                {
                    throw new Exception("Conteúdo vazio do Arquivo (Base64)");
                }

                byte[] conteudo = Convert.FromBase64String(arquivoFile.ConteudoFileBase64);

                UtilIO.CriarPasta(pathArquivos);
                UtilIO.GravaArquivoFileSystem(conteudo, pathArquivos + arquivoFile.NomeFile);

                arquivoFile.IdFile             = idFile.ToString();
                arquivoFile.ConteudoFileBase64 = null;

                List <ArquivoFile> listaArquivos = UtilBase.RecuperarBase().ListaArquivos;
                listaArquivos.Add(arquivoFile);
                this.GravaBaseArquivo(listaArquivos);

                return(arquivoFile);
            } catch (Exception ex)
            {
                throw new Exception("Erro ao gravar o arquivo", ex);
            }
        }
Ejemplo n.º 2
0
        public ArquivoFile Download(string idFile)
        {
            ArquivoFile arquivoFile = UtilBase.RecuperarBase().ListaArquivos.FirstOrDefault(x => x.IdFile == idFile);

            byte[] arq = UtilIO.RecuperaArquivoFileSystem(pathArquivos + arquivoFile.NomeFile);
            arquivoFile.ConteudoFile = arq;
            return(arquivoFile);
        }
Ejemplo n.º 3
0
        public object Delete(string idFile)
        {
            ArquivoFile        arquivoFile   = UtilBase.RecuperarBase().ListaArquivos.FirstOrDefault(x => x.IdFile == idFile);
            List <ArquivoFile> listaArquivos = this.ListarArquivos().ToList();

            listaArquivos = listaArquivos.Where(x => x.IdFile != idFile).ToList();
            this.GravaBaseArquivo(listaArquivos);
            UtilIO.DeleteArquivoFileSystem(pathArquivos + arquivoFile.NomeFile);
            return(arquivoFile);
        }
Ejemplo n.º 4
0
        public FileContentResult Get(string id)
        {
            ArquivoFile arquivo = this.fileService.Download(id);

            byte[]            content           = arquivo.ConteudoFile;
            FileContentResult fileContentResult = new FileContentResult(content, "application/octet-stream")
            {
                FileDownloadName = arquivo.NomeFile,
            };

            return(fileContentResult);
        }
Ejemplo n.º 5
0
 public ActionResult <ReturnModel> Post([FromBody] ArquivoFile file)
 {
     return(this.GetSuccessReturn(this.fileService.Upload(file)));
 }