public string exportar(List <string> listaUrlArquivosAssociados) { string baseName = String.Concat("ARQUIVOS_", User.id(), "_", UtilString.onlyNumber(DateTime.Now.ToString())); string nomePathTempArquivo = String.Concat(UtilConfig.pathAbsTempFiles, "/", baseName); if (!Directory.Exists(nomePathTempArquivo)) { Directory.CreateDirectory(nomePathTempArquivo); } foreach (var urlArquivoAssociado in listaUrlArquivosAssociados) { string basePath = User.idOrganizacao() > 0 ? UtilConfig.pathAbsUpload(idOrganizacao) : $"{UtilConfig.pathAbsUploadFiles}upload/"; string pathArquivoAssociado = String.Concat(basePath, urlArquivoAssociado); string pathFile = Path.Combine(UtilConfig.pathAbsRaiz, pathArquivoAssociado); if (!File.Exists(pathFile)) { continue; } var OFileInfo = new FileInfo(pathFile); UtilIO.copiarArquivo(OFileInfo, nomePathTempArquivo, OFileInfo.Name); } string nomeArquivoZip = String.Concat(baseName, ".zip"); string nomeFullArquivoZip = string.Concat(UtilConfig.pathAbsTempFiles, "/", nomeArquivoZip); ZipFile.CreateFromDirectory(nomePathTempArquivo, nomeFullArquivoZip, CompressionLevel.Optimal, true); var DirectoryInfo = new DirectoryInfo(nomePathTempArquivo); DirectoryInfo.Delete(true); return(nomeArquivoZip); }
public string gerarZip(List <ReceitaDespesaArquivoVW> listaArquivos) { if (!listaArquivos.Any()) { return(""); } string baseName = String.Concat("Arquivos_Financeiros_", User.id(), "_", UtilString.onlyNumber(DateTime.Now.ToString())); string nomePathTempArquivos = String.Concat(UtilConfig.pathAbsTempFiles, "/", baseName); if (!Directory.Exists(nomePathTempArquivos)) { Directory.CreateDirectory(nomePathTempArquivos); } foreach (var OArquivo in listaArquivos) { string pathFile = Path.Combine(UtilConfig.pathAbsUpload(OArquivo.idOrganizacao.toInt()), OArquivo.path); var OFileInfo = new FileInfo(pathFile); if (!OFileInfo.Exists) { continue; } UtilIO.copiarArquivo(OFileInfo, nomePathTempArquivos, OFileInfo.Name); } string nomeArquivoZip = String.Concat(baseName, ".zip"); string nomeFullArquivoZip = string.Concat(UtilConfig.pathAbsTempFiles, "/", nomeArquivoZip); ZipFile.CreateFromDirectory(nomePathTempArquivos, nomeFullArquivoZip, CompressionLevel.Optimal, true); return(nomeArquivoZip); }