public ActionResult MenuFileTreeMoverCopiar(FormCollection Postpath) { string _pastaSolicitada = Postpath["dir"]; UsuarioLogado infoUsuarioLogado = new UsuarioLogado(); var _infoUsuarioLogado = infoUsuarioLogado.GetUsuarioLogado(User.Identity.Name); //int prmIdUsuario, string prmDiretorio, string prmTipo, string prmStatus) ListaDiretoriosArquivos list_diretoriosArquivos = ListaDiretoriosArquivosBaseDados.RetornaDiretoriosArquivosBaseDados(_infoUsuarioLogado.Usu_Id, _pastaSolicitada, "D", "A"); return(PartialView(list_diretoriosArquivos)); }
public ActionResult MoverPastaArquivoModal() // public ActionResult MoverPastaArquivoModal(FormCollection PostForm) { // string _nomeArquivoPasta = PostForm["nomeArquivoPasta"]; // string _caminhoCompleto = PostForm["caminhoCompleto"]; // string _caminhoRetorno = PostForm["caminhoRetorno"]; // string _estadoPasta = PostForm["estadoPasta"]; // string _tipo = PostForm["tipoArquivoPasta"]; //// string _diretorioBaseUsuario = ""; // ViewData["nomeArquivoPasta"] = _nomeArquivoPasta; // if (_caminhoRetorno == "" || _caminhoRetorno == null) // { // _caminhoRetorno = "/"; // } // if (_tipo == "A") // { // // _caminhoCompleto = _caminhoCompleto.Substring(0, _caminhoCompleto.LastIndexOf("/")); // _caminhoCompleto = _caminhoCompleto.Substring(0, _caminhoCompleto.LastIndexOf("/") + 1); // } // ViewData["caminhoCompleto"] = _caminhoCompleto; // if (_estadoPasta == "aberta") // { // _caminhoRetorno = _caminhoRetorno.Substring(0, _caminhoRetorno.LastIndexOf("/")); // _caminhoRetorno = _caminhoRetorno.Substring(0, _caminhoRetorno.LastIndexOf("/") + 1); // } // ViewData["caminhoRetorno"] = _caminhoRetorno; // ViewData["tipoArquivoPasta"] = _tipo; UsuarioLogado infoUsuarioLogado = new UsuarioLogado(); var _infoUsuarioLogado = infoUsuarioLogado.GetUsuarioLogado(User.Identity.Name); //int prmIdUsuario, string prmDiretorio, string prmTipo, string prmStatus) ListaDiretoriosArquivos list_diretoriosArquivos = ListaDiretoriosArquivosBaseDados.RetornaDiretoriosArquivosBaseDados(_infoUsuarioLogado.Usu_Id, "/", "D", "A"); return(PartialView(list_diretoriosArquivos)); }
public static ListaDiretoriosArquivos RetornaDiretoriosArquivosBaseDados(int?prmIdUsuario, string prmDiretorio, string prmTipo, string prmStatus) { var _tipos = new[] { prmTipo }; var _status = new[] { prmStatus }; List <ListaDiretorios> list_listaDiretorios = new List <ListaDiretorios>(); List <ListaArquivos> list_listaArquivos = new List <ListaArquivos>(); using (DiretoriosArquivosContext diretorios = new DiretoriosArquivosContext()) { var _retornoQueryDiretorios = (from diretoriosDestino in diretorios.CloudDiretoriosArquivos where diretoriosDestino.Dia_Fk_Usu_id == prmIdUsuario && // Incluir parametro para escolher se consulta do Dia_CaminhoAtual ou Dia_CaminhoOriginal // (diretoriosDestino.Dia_CaminhoAtual == prmDiretorio || diretoriosDestino.Dia_CaminhoOriginal == prmDiretorio) && diretoriosDestino.Dia_CaminhoAtual == prmDiretorio && _tipos.Contains(diretoriosDestino.Dia_Tipo) && _status.Contains(diretoriosDestino.Dia_Status) // select diretoriosDestino) select new { diretoriosDestino.Dia_CaminhoAtual, diretoriosDestino.Dia_CaminhoOriginal, diretoriosDestino.Dia_Nome, diretoriosDestino.Dia_Tipo, diretoriosDestino.Dia_Status }).OrderBy(diretoriosDestino => diretoriosDestino.Dia_Nome); foreach (var itemDiretorioArquivo in _retornoQueryDiretorios) { ListaDiretorios listaDiretoriosModel = new ListaDiretorios(); ListaArquivos listaArquivosModel = new ListaArquivos(); if (itemDiretorioArquivo.Dia_Tipo == "D") { listaDiretoriosModel.Diretorio = itemDiretorioArquivo.Dia_CaminhoAtual; listaDiretoriosModel.DiretorioNome = itemDiretorioArquivo.Dia_Nome; list_listaDiretorios.Add(listaDiretoriosModel); } else if (itemDiretorioArquivo.Dia_Tipo == "A") { FileInfo objarquivo = new FileInfo(itemDiretorioArquivo.Dia_Nome); listaArquivosModel.ArquivoCaminho = itemDiretorioArquivo.Dia_CaminhoAtual; listaArquivosModel.ArquivoNome = itemDiretorioArquivo.Dia_Nome; listaArquivosModel.ArquivoExtensao = objarquivo.Extension.Replace(@".", @"").ToLower(); list_listaArquivos.Add(listaArquivosModel); } } ListaDiretoriosArquivos list_ListaDiretoriosArquivos = new ListaDiretoriosArquivos(list_listaDiretorios, list_listaArquivos); return(list_ListaDiretoriosArquivos); } }
public ActionResult ListaLixeira(FormCollection Postpath) { string _pastaSolicitada = Postpath["pasta"]; // string _pastaAtual = ""; string _caminhoCompleto = ""; string _diretorioBaseUsuario = ""; if (_pastaSolicitada == "" || _pastaSolicitada == null) { _pastaSolicitada = "Lixeira"; } ViewData["pastaAtual"] = _pastaSolicitada; UsuarioContext usuarioAcesso = new UsuarioContext(); var _retornoQueryUser = (from usuarioInfoAcesso in usuarioAcesso.CloudUsuariosAcesso where usuarioInfoAcesso.Uac_UserName == User.Identity.Name select usuarioInfoAcesso).SingleOrDefault(); _diretorioBaseUsuario = _retornoQueryUser.Uac_Fk.Usu_DiretorioBase; _caminhoCompleto = Server.MapPath("~/pho_lixeira/" + _diretorioBaseUsuario + "/"); if (System.IO.Directory.Exists(_caminhoCompleto)) { List <ListaDiretorios> list_listaDiretorios = new List <ListaDiretorios>(); IEnumerable <string> diretorioLista = Directory.EnumerateDirectories(_caminhoCompleto); foreach (string dir in diretorioLista) { DirectoryInfo d = new DirectoryInfo(dir); ListaDiretorios dirModel = new ListaDiretorios(); dirModel.DiretorioBase = _diretorioBaseUsuario; dirModel.Diretorio = "/" + Path.GetFileName(dir) + "/"; dirModel.DiretorioNome = Path.GetFileName(dir); dirModel.DiretorioDataAcesso = d.LastAccessTime; list_listaDiretorios.Add(dirModel); } int quant = list_listaDiretorios.Count; List <ListaArquivos> list_listaArquivos = new List <ListaArquivos>(); IEnumerable <string> arquivoLista = Directory.EnumerateFiles(_caminhoCompleto); foreach (string fil in arquivoLista) { FileInfo f = new FileInfo(fil); ListaArquivos fileModel = new ListaArquivos(); if (f.Extension.ToLower() != "php" && f.Extension.ToLower() != "aspx" && f.Extension.ToLower() != "asp") { fileModel.ArquivoNome = Path.GetFileName(fil); fileModel.ArquivoDiretorio = "pho_lixeira/" + _diretorioBaseUsuario + Path.GetFileName(fil); fileModel.ArquivoDataAcesso = f.LastAccessTime; fileModel.ArquivoTamanho = (f.Length < 1024) ? f.Length.ToString() + " B" : f.Length / 1024 + " KB"; fileModel.ArquivoExtensao = f.Extension.Replace(@".", @"").ToLower(); list_listaArquivos.Add(fileModel); } } ListaDiretoriosArquivos explorerModel = new ListaDiretoriosArquivos(list_listaDiretorios, list_listaArquivos); return(PartialView(explorerModel)); } else { return(Content("<div class='alert alert-danger' role='alert'>Problemas ao acessar a lixeira. Diretório inválido.</div>")); } }
public ActionResult MenuFileTreePrincipal(FormCollection Postpath) { int _qtdDiretorios = 0; int _qtdArquivos = 0; string _caminhoSolicitado = Postpath["dir"]; string _caminhoCompleto = ""; string _diretorioBaseUsuario = ""; UsuarioContext usuarioAcesso = new UsuarioContext(); var _retornoQueryUser = (from usuarioInfoAcesso in usuarioAcesso.CloudUsuariosAcesso where usuarioInfoAcesso.Uac_UserName == User.Identity.Name select usuarioInfoAcesso).SingleOrDefault(); _diretorioBaseUsuario = _retornoQueryUser.Uac_Fk.Usu_DiretorioBase; Encoding iso = Encoding.GetEncoding("ISO-8859-1"); _caminhoSolicitado = HttpUtility.UrlDecode(_caminhoSolicitado, iso); _caminhoCompleto = Server.MapPath("~/pho_fotos/" + _diretorioBaseUsuario + "/" + _caminhoSolicitado); if (System.IO.File.Exists(_caminhoCompleto)) { return(base.File(_caminhoCompleto, "application/octet-stream")); } else if (System.IO.Directory.Exists(_caminhoCompleto)) { try { //cria objeto dirListModel do tipo lista do model DirModel (FileTreeModel) List <ListaDiretorios> listaDiretorios = new List <ListaDiretorios>(); IEnumerable <string> diretorioLista = Directory.EnumerateDirectories(_caminhoCompleto); foreach (string dir in diretorioLista) { // if (Path.GetFileName(dir) != _diretorioBaseUsuario + "_RECICLE") //{ DirectoryInfo objdiretorio = new DirectoryInfo(dir); ListaDiretorios diretorio = new ListaDiretorios(); diretorio.DiretorioBase = _diretorioBaseUsuario; diretorio.Diretorio = "/" + _caminhoSolicitado + Path.GetFileName(dir) + "/"; diretorio.DiretorioNome = Path.GetFileName(dir); diretorio.DiretorioDataAcesso = objdiretorio.LastAccessTime; listaDiretorios.Add(diretorio); _qtdDiretorios++; //} } List <ListaArquivos> listaArquivos = new List <ListaArquivos>(); IEnumerable <string> arquivoLista = Directory.EnumerateFiles(_caminhoCompleto); foreach (string arq in arquivoLista) { FileInfo objarquivo = new FileInfo(arq); ListaArquivos arquivo = new ListaArquivos(); if (objarquivo.Extension.ToLower() != "php" && objarquivo.Extension.ToLower() != "aspx" && objarquivo.Extension.ToLower() != "asp") { if (_caminhoSolicitado == "" || _caminhoSolicitado == "/") { _caminhoSolicitado = "/"; arquivo.ArquivoCaminho = "/"; } else { string _pastaPai = _caminhoSolicitado.Substring(1, _caminhoSolicitado.LastIndexOf("/") - 1); arquivo.ArquivoCaminho = _pastaPai.Substring(_pastaPai.LastIndexOf("/") + 1); } arquivo.ArquivoNome = Path.GetFileName(arq); arquivo.ArquivoDiretorio = "pho_fotos/" + _diretorioBaseUsuario + _caminhoSolicitado + Path.GetFileName(arq); arquivo.ArquivoCaminho = _caminhoSolicitado + Path.GetFileName(arq); arquivo.ArquivoDataAcesso = objarquivo.LastAccessTime; arquivo.ArquivoTamanho = (objarquivo.Length < 1024) ? objarquivo.Length.ToString() + " B" : objarquivo.Length / 1024 + " KB"; arquivo.ArquivoExtensao = objarquivo.Extension.Replace(@".", @"").ToLower(); listaArquivos.Add(arquivo); _qtdArquivos++; } } if (_qtdDiretorios == 0 && _qtdArquivos == 0) { if (_caminhoSolicitado == "") { ViewBag.MessageError = "<li class='info'>Para iniciar crie suas pastas e faça upload de </br>suas imagens e vídeos.</li>"; } else { if (_qtdArquivos == 0) { ViewBag.MessageError = "<li>Pasta vazia.</li>"; } } return(PartialView()); } ListaDiretoriosArquivos listaDiretoriosArquivos = new ListaDiretoriosArquivos(listaDiretorios, listaArquivos); return(PartialView(listaDiretoriosArquivos)); } catch (Exception ex) { ViewBag.MessageError = _caminhoCompleto; return(PartialView()); } } else { // ViewBag.MessageError = "O parâmetro de entrada " + path + " não é um arquivo ou diretório válido."; // ViewBag.MessageError = realPath + ": não é um arquivo ou diretório válido."; ViewBag.MessageError = "<li class='warning'>Diretório inválido.</li>"; return(PartialView()); // return Content(path + " não é um arquivo ou diretório válido."); } }
public ActionResult ListaArquivos(FormCollection Postpath) { string _caminhoSolicitado = Postpath["pasta"]; string _pastaAtual = ""; string _diretorioPai = ""; string _caminhoCompleto = ""; string _diretorioBaseUsuario = ""; int? _idUsuario = null; string _cookieViewGridListHash = ""; ConvertMD5 ConverterMD5 = new ConvertMD5(); UsuarioContext usuarioAcesso = new UsuarioContext(); var _retornoQueryUser = (from usuarioInfoAcesso in usuarioAcesso.CloudUsuariosAcesso where usuarioInfoAcesso.Uac_UserName == User.Identity.Name select usuarioInfoAcesso).SingleOrDefault(); _diretorioBaseUsuario = _retornoQueryUser.Uac_Fk.Usu_DiretorioBase; _idUsuario = _retornoQueryUser.Uac_Fk.Usu_Id; _cookieViewGridListHash = "0000000000" + _idUsuario.ToString(); _cookieViewGridListHash = _cookieViewGridListHash.Substring(_cookieViewGridListHash.Length - 10); _cookieViewGridListHash = ConverterMD5.getMD5Hash(CryptographyRepository.Criptografar("viewgridlist" + _cookieViewGridListHash)); ViewData["cookieViewGridListHash"] = _cookieViewGridListHash; var _viewgridlist = HttpContext.Request.Cookies[_cookieViewGridListHash]; if (_viewgridlist == null) { ViewData["viewgridlist"] = "grid"; } else { ViewData["viewgridlist"] = _viewgridlist.Value.ToString(); } if ((_caminhoSolicitado.LastIndexOf("/") - 1) > 1) { string _formataBreadcrumb = _caminhoSolicitado.Substring(1, _caminhoSolicitado.LastIndexOf("/") - 1); string[] _breadcrumb = _formataBreadcrumb.Split('/'); ViewData["breadcrumb"] = _breadcrumb; ViewData["formataBreadcrumb"] = _formataBreadcrumb; ViewData["tamanhoBreadcrumb"] = _formataBreadcrumb.Length; } _pastaAtual = _caminhoSolicitado.Substring(0, _caminhoSolicitado.LastIndexOf("/")); if (_caminhoSolicitado == "/") { _diretorioPai = "/"; } else { _diretorioPai = _pastaAtual.Substring(0, _pastaAtual.LastIndexOf("/")) + "/"; } _pastaAtual = _pastaAtual.Substring(_pastaAtual.LastIndexOf("/") + 1); if (_diretorioPai == "" || _diretorioPai == null) { _diretorioPai = "/"; } if (_pastaAtual == "" || _pastaAtual == null) { _pastaAtual = "[photoCloud:]"; } ViewData["diretorioPai"] = _diretorioPai; ViewData["pastaAtual"] = _pastaAtual; ViewData["diretorioAtual"] = _caminhoSolicitado; _caminhoCompleto = Server.MapPath("~/pho_fotos/" + _diretorioBaseUsuario + "/" + _caminhoSolicitado); if (System.IO.File.Exists(_caminhoCompleto)) { //http://stackoverflow.com/questions/1176022/unknown-file-type-mime return(base.File(_caminhoCompleto, "application/octet-stream")); } else if (System.IO.Directory.Exists(_caminhoCompleto)) { List <ListaDiretorios> list_listaDiretorios = new List <ListaDiretorios>(); IEnumerable <string> diretorioLista = Directory.EnumerateDirectories(_caminhoCompleto); foreach (string dir in diretorioLista) { //if (Path.GetFileName(dir) != _diretorioBaseUsuario + "_RECICLE") //{ DirectoryInfo d = new DirectoryInfo(dir); ListaDiretorios dirModel = new ListaDiretorios(); dirModel.DiretorioBase = _diretorioBaseUsuario; dirModel.Diretorio = "/" + _caminhoSolicitado + Path.GetFileName(dir) + "/"; dirModel.DiretorioNome = Path.GetFileName(dir); dirModel.DiretorioDataAcesso = d.LastAccessTime; list_listaDiretorios.Add(dirModel); //} } int quant = list_listaDiretorios.Count; List <ListaArquivos> list_listaArquivos = new List <ListaArquivos>(); IEnumerable <string> arquivoLista = Directory.EnumerateFiles(_caminhoCompleto); foreach (string fil in arquivoLista) { FileInfo f = new FileInfo(fil); ListaArquivos fileModel = new ListaArquivos(); if (f.Extension.ToLower() != "php" && f.Extension.ToLower() != "aspx" && f.Extension.ToLower() != "asp") { fileModel.ArquivoNome = Path.GetFileName(fil); fileModel.ArquivoDiretorio = "pho_fotos/" + _diretorioBaseUsuario + _caminhoSolicitado + Path.GetFileName(fil); fileModel.ArquivoCaminho = _caminhoSolicitado + Path.GetFileName(fil); fileModel.ArquivoDataAcesso = f.LastAccessTime; fileModel.ArquivoTamanho = (f.Length < 1024) ? f.Length.ToString() + " B" : f.Length / 1024 + " KB"; fileModel.ArquivoExtensao = f.Extension.Replace(@".", @"").ToLower(); list_listaArquivos.Add(fileModel); } } ListaDiretoriosArquivos explorerModel = new ListaDiretoriosArquivos(list_listaDiretorios, list_listaArquivos); return(PartialView(explorerModel)); } else { return(Content("<div class='alert alert-danger' role='alert'>" + _caminhoSolicitado + " não é um arquivo ou diretório válido.</div>")); } }