protected void lnkdescargas_Click(object sender, EventArgs e) { try { string filename = hdfpath.Value; RutasArchivosCOM rutas = new RutasArchivosCOM(); DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("~/"));//path localDateTime localDate = DateTime.Now; string path_local = dirInfo + "files/documents/temp/"; string server = @rutas.path(1); int id_request = Convert.ToInt32(hdfid_request_bond.Value == "" ? "0" : hdfid_request_bond.Value); string path = id_request > 0 ? @server + id_request.ToString() + "\\" + filename : path_local + filename; if (File.Exists(@path)) { //Response.ContentType = "doc/docx"; //Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(@path)); //Response.TransmitFile(@path); //Response.End(); // Limpiamos la salida Response.Clear(); // Con esto le decimos al browser que la salida sera descargable Response.ContentType = "application/octet-stream"; // esta linea es opcional, en donde podemos cambiar el nombre del fichero a descargar (para que sea diferente al original) Response.AddHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(@path)); // Escribimos el fichero a enviar Response.WriteFile(@path); // volcamos el stream Response.Flush(); // Enviamos todo el encabezado ahora Response.End(); } else { ModalShow("#modal_archivos"); Toast.Error("No es encuentra el documento especificado en la ruta: " + path, this); } } catch (Exception ex) { Toast.Error("Error al descargar documento: " + ex.Message, this); } finally { //InitTables(); //UnBlockUI(); } }
protected void AsyncUpload1_FileUploaded(object sender, Telerik.Web.UI.FileUploadedEventArgs e) { try { //GUARDAMOS LOS RESULTADOS DE LA ACTIVIDAD int r = AsyncUpload1.UploadedFiles.Count; int no_ = 0; int id_request = Convert.ToInt32(hdnIdRequestBond.Value == "" ? "0" : hdnIdRequestBond.Value); if (no_ == 0 && id_request == 0) { Toast.Error("Seleccione un empleado.", this); } else { string name = ""; DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("~/"));//path localDateTime localDate = DateTime.Now; string path_local = "files/documents/temp/"; string directory = dirInfo.ToString() + path_local; if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } name = Path.GetFileNameWithoutExtension(e.File.FileName) + Path.GetExtension(e.File.FileName); if (id_request > 0) { //si hay un id de bono, quiere decir que es una actualizacion y agregamos en la base de datos int id_request_bonds = id_request; RutasArchivosCOM rutas = new RutasArchivosCOM(); string path_local2 = @rutas.path(1); string directory2 = path_local2 + id_request_bonds.ToString() + @"\"; if (!Directory.Exists(@directory2)) { Directory.CreateDirectory(@directory2); } files_requests_bonds file = new files_requests_bonds(); file.path = @directory2 + name.Trim().Replace(@"\", "/"); file.file_name = name.Trim(); file.size = Convert.ToDecimal(e.File.ContentLength); file.content_type = e.File.ContentType; string source = file.path; string path = @directory2 + file.file_name; file.login = Session["usuario"] as string; file.path = "UploadedFiles/" + id_request_bonds.ToString() + "/"; file.id_request_bond = id_request_bonds; BonosCOM bonos = new BonosCOM(); int id_file_request = bonos.AgregarArchivo(file); if (id_file_request > 0) { e.File.SaveAs(path); AgregarDocumento(path, file.file_name, file.content_type, Convert.ToDecimal(file.size)); CargarTablaArchivos(); Toast.Success("Documento guardado correctamente.", "Mensaje del sistema", this); } else { Toast.Error("Error al guardar archivo.", this); } } else { e.File.SaveAs(directory + name.Trim()); AgregarDocumento(directory + name.Trim(), name.Trim(), e.File.ContentType, Convert.ToDecimal(e.File.ContentLength)); CargarTablaArchivos(); Toast.Success("Documento guardado correctamente.", "Mensaje del sistema", this); } } } catch (Exception ex) { Toast.Error("Error al guardar documento: " + ex.Message, this); } finally { InitTables(); } }