public ActionResult SubirIntroduccion2(string modulo, string rutaO, string archivoO) { //El base64 data se extrar de rutaO (URI del file seleccionado por el ussuario) String[] MiArray = rutaO.Split(','); string b64 = MiArray[1]; Byte[] bytes = Convert.FromBase64String(b64); string extension = Path.GetExtension(archivoO); //Se almacea en un tempPath la conversion del base64 data string fileNameX2 = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + extension; System.IO.File.WriteAllBytes(fileNameX2, bytes); //Valida que el archivo cumpla con el tamaño máximo permitido FileInfo fileIn = new FileInfo(fileNameX2); var tam = fileIn.Length; if (tam > 100000000 || tam < 0) //100,000,000 byte=100MB { return(RedirectToAction("Index")); } //Obtener la ruta de la introducccion alamacenada en la BD modelModulo.listaModulos = moduloBL.getListModulo(modulo); foreach (var item in modelModulo.listaModulos) { modelModulo.idModulo = item.idModulo; modelModulo.archivoIntroduccion = item.archivoIntroduccion; } string rutaDestinoFTP = "Introduccion_" + modelModulo.idModulo + extension; Helpers.FTPClient con = new Helpers.FTPClient("ftp://192.168.23.170", "SEG\\mc_mendoza", "M2pm2019"); con.delete(modelModulo.archivoIntroduccion); con.upload(rutaDestinoFTP, fileNameX2); moduloBL.editarArchivo(modulo, rutaDestinoFTP); return(RedirectToAction("Index")); }
public ActionResult SubirIntroduccion(string modulo, string rutaOrigen) { string extension = Path.GetExtension(rutaOrigen); FileInfo fileS = new FileInfo(rutaOrigen); var size = fileS.Length; //El tamanio del archivo en bytes var p = ""; //Obtener la ruta de la introducccion alamacenada en la BD modelModulo.listaModulos = moduloBL.getListModulo(modulo); foreach (var item in modelModulo.listaModulos) { modelModulo.idModulo = item.idModulo; modelModulo.archivoIntroduccion = item.archivoIntroduccion; p = @"C:\Users\CeciMP\Documents\FTPPrueba\" + item.archivoIntroduccion; } string rutaDestinoFTP = "Introduccion_" + modelModulo.idModulo + extension; try { Helpers.FTPClient con = new Helpers.FTPClient("ftp://192.168.25.7", "userPrueba", "userPrueba123"); //if(con.getFileSize(model.archivoIntroduccion).Equals("")) if (System.IO.File.Exists(p) == true) { con.delete(modelModulo.archivoIntroduccion); con.upload(rutaDestinoFTP, rutaOrigen); } else { con.upload(rutaDestinoFTP, rutaOrigen); } } catch (Exception ex) { Console.WriteLine(ex); throw; } moduloBL.editarArchivo(modulo, rutaDestinoFTP); return(RedirectToAction("Index")); }
public string Subir(string seccion, string ruta, string archivo) { string subido = "false"; String[] MiArray = ruta.Split(','); string b64 = MiArray[1]; Byte[] bytes = Convert.FromBase64String(b64); string extension = Path.GetExtension(archivo).ToLower(); //Se almacea en un tempPath la conversion del base64 data string fileNameX2 = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + extension.ToLower(); System.IO.File.WriteAllBytes(fileNameX2, bytes); //Valida que el archivo cumpla con el tamaño máximo permitido FileInfo fileIn = new FileInfo(fileNameX2); var tam = fileIn.Length; if (tam > 100000000 || tam < 0) //100,000,000 byte=100MB { //Mensaje, tamaño de la imagen mayor al permitido } else { string rutaDestinoFTP = ""; if (seccion == "Intro") { rutaDestinoFTP = "Introduccion\\" + "01000000" + extension; } else { rutaDestinoFTP = "MesBP\\" + "BPMes" + extension; } if (con.conexionFTP("Index.png") == true) { if (seccion == "Intro") { modelModulo.listaModulos = moduloBL.getListModulo("01000000"); foreach (var item in modelModulo.listaModulos) { modelModulo.archivoIntroduccion = item.archivoIntroduccion; } con.delete(modelModulo.archivoIntroduccion); if (moduloBL.editarArchivo("01000000", rutaDestinoFTP) == false) { ModelState.AddModelError(string.Empty, "No se pudo subir el archivo"); } else { con.upload(rutaDestinoFTP, fileNameX2); subido = "true"; } } else { EliminarMBP(); con.upload(rutaDestinoFTP, fileNameX2); subido = "true"; } } else { ModelState.AddModelError(string.Empty, "Por el momento no se pueden subir archivos."); } } return(subido); }