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();
     }
 }
Beispiel #2
0
        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();
            }
        }