public static List <GetURLAdjunto> ObtenerURLDescarga(int codarchivo) { List <GetURLAdjunto> result = new List <GetURLAdjunto>(); GetURLAdjunto dto = new GetURLAdjunto(); try { DescargaArchivo downFile = new DescargaArchivo(); string urlSDK = downFile.GetLinkWeb(codarchivo); dto.url = urlSDK; dto.mensaje_error = ""; result.Add(dto); } catch (Exception e) { dto.url = ""; dto.mensaje_error = e.Message; } return(result); }
protected void Page_Load(object sender, EventArgs e) { string output = ""; ////<<== DESBLOQUEAR EN PRODUCCION EL SIGUIENTE BLOQUEO LINEAS if (Session["tokens"] == null || ((DataSet)Session["tokens"]).Tables[0].Rows.Count == 0) { output = "{\"upload\":\"ERROR\",\"data\":\"" + "Se ha producido un error al tratar de adjuntar un archivo. El sistema indica que se la sesión asociada al usuario se ha perdido. Por favor, reintentar y si este problema de persiste, contactar al Administrador." + "\"}"; } else { if (!windowFR.existetoken("61471B04-7513-468F-A9E6-EB545E4C04FE")) { output = "{\"upload\":\"ERROR\",\"data\":\"" + "Se ha producido un error al tratar de adjuntar un archivo. El sistema indica que usted no tiene permiso para realizar esta operación. Si usted considera que posee los permisos correspondientes, por favor, contactar al Administrador y señalar esta situación." + "\"}"; } else { string pathfile = ""; string FileName = ""; string sobreescribir = "NO"; string msgproc = ""; long codarchivo = 0; string linkarchivo = ""; string mm_s; string dd_s; string prefijofolder = ""; Boolean noexistaFolder = true; string folderRespuestaActual = ""; HttpPostedFile MyFile = Request.Files["file[]"]; prefijofolder = Request.Form["folderinput"].ToString(); pathfile = Request.Form["rutarepositorio"].ToString() + "ficharesidencialadjuntos\\" + DateTime.Now.Year.ToString() + "\\"; sobreescribir = Request.Form["sobreescribir"].ToString(); //Setting location to upload files try { if (MyFile.ContentLength > 0) { DateTime d = new DateTime(); d = DateTime.Now; int yyyy = d.Year; int mm = d.Month; int dd = d.Day; if (prefijofolder == "") { int correlativo = 1; if (mm < 10) { mm_s = "0" + mm; } else { mm_s = mm.ToString(); } if (dd < 10) { dd_s = "0" + dd; } else { dd_s = dd.ToString(); } prefijofolder = yyyy.ToString() + mm_s + dd_s; //SI NO EXISTE EL DIRECTORIO BASE LO CREO if (!Directory.Exists(pathfile)) { Directory.CreateDirectory(pathfile); } while (noexistaFolder) { if (!Directory.Exists(pathfile + prefijofolder + "_" + correlativo.ToString())) { noexistaFolder = false; prefijofolder = prefijofolder + "_" + correlativo.ToString(); folderRespuestaActual = pathfile + prefijofolder + "\\"; Directory.CreateDirectory(folderRespuestaActual); } correlativo++; } } else { folderRespuestaActual = pathfile + prefijofolder + "\\"; } //Determining file name. You can format it as you wish. FileName = MyFile.FileName; //Determining file size. int FileSize = MyFile.ContentLength; //Creating a byte array corresponding to file size. byte[] FileByteArray = new byte[FileSize]; //Posted file is being pushed into byte array. MyFile.InputStream.Read(FileByteArray, 0, FileSize); //Uploading properly formatted file to server. FileName = FileName.Replace(";", "-"); //MyFile.SaveAs(folderRespuestaActual + FileName); string contentType_ = MyFile.ContentLength.ToString(); string contentLength_ = MyFile.ContentLength.ToString(); ConsultaBaseSDK_archivo consultaSDK = new ConsultaBaseSDK_archivo(); codarchivo = consultaSDK.ConsultaArchivo(FileName + "ficharesidencialadjuntos\\" + DateTime.Now.Year.ToString() + "\\" + prefijofolder + "\\"); CargaArchivo loadFile = new CargaArchivo(); DescargaArchivo downFile = new DescargaArchivo(); if (codarchivo == 0) { loadFile.MaxFileNameLength = 100; // Largo de nombre de Archivo loadFile.IdentificadorOrigen = 4032; // Usualmente la ID Del Adjunto loadFile.IdentificadorSistema = 6; // Identicador de Sistema ===> FichaResidencial = 6 loadFile.IdUsuario = Convert.ToInt32(Session["IdUsuario"]); loadFile.RutaVirtual = "ficharesidencialadjuntos\\" + DateTime.Now.Year.ToString() + "\\" + prefijofolder + "\\"; loadFile.RutRelativa = "ficharesidencialadjuntos\\\\" + DateTime.Now.Year.ToString() + "\\" + prefijofolder + "\\"; loadFile.SessionEliminar = Session["IdUsuario"].ToString(); loadFile.GuardarArchivos(FileByteArray, FileName, out msgproc); codarchivo = loadFile.CodArchivo; linkarchivo = downFile.GetLinkWeb(codarchivo); output = "{\"upload\":\"OK\",\"data\":\"" + FileName + "\",\"ContentLength\":\"" + contentLength_ + "\",\"ContentType\":\"" + contentType_ + "\",\"folderinput\":\"" + prefijofolder + "\",\"codarchivo\":\"" + codarchivo + "\",\"nombre_original\":\"" + FileName + "\",\"linkarchivo\":\"" + linkarchivo + "\"}"; } else { if (sobreescribir == "SI") { MyFile.SaveAs(pathfile + prefijofolder + "\\" + codarchivo + "_" + Session["IdUsuario"].ToString() + "_" + FileName); MyFile = null; linkarchivo = downFile.GetLinkWeb(codarchivo); output = "{\"upload\":\"OK\",\"data\":\"" + FileName + "\",\"ContentLength\":\"" + contentLength_ + "\",\"ContentType\":\"" + contentType_ + "\",\"folderinput\":\"" + prefijofolder + "\",\"codarchivo\":\"" + codarchivo + "\",\"nombre_original\":\"" + FileName + "\",\"linkarchivo\":\"" + linkarchivo + "\"}"; } else { output = "{\"upload\":\"OK_OVERWRITE\",\"data\":\"" + Session["IdUsuario"].ToString() + "_" + FileName + "\",\"ContentLength\":\"" + contentLength_ + "\",\"ContentType\":\"" + contentType_ + "\",\"folderinput\":\"" + "" + "\",\"codarchivo\":\"" + "0" + "\"}"; } } } } catch (Exception BlueScreen) { //Handle errors output = "{\"upload\":\"ERROR\",\"data\":\"" + "Se ha producido un error al tratar de adjuntar un archivo: " + BlueScreen.Message + ". Por favor, reintentar y si el error persiste contactar al Administrador." + "\"}"; } //LAS SIGUIENTES DOS LLAVES SE COMENTAN EN DESARROLLO } } //PARA PROBAR ERROR AL CARGAR (POSIBLES ERRORES: DE SESSIÓN, DE PERMISO o UNA EXCEPCIÓN) //output = "{\"upload\":\"ERROR\",\"data\":\"" + "Se ha producido un error al tratar de adjuntar un archivo: ERROR DE PRUEBA. Por favor, reintentar y si el error persiste contactar al Administrador." + "\"}"; Response.Write(output); }