Esempio n. 1
0
    protected void CargarFile()
    {
        string cleanMessage      = string.Empty;
        string _Requ_Numero      = string.Empty;
        string _Reqd_CodLinea    = string.Empty;
        string _Reqs_Correlativo = string.Empty;

        Requ_Numero      = Request.QueryString["Requ_Numero"].ToString();
        Reqd_CodLinea    = Request.QueryString["Reqd_CodLinea"].ToString();
        Reqs_Correlativo = Request.QueryString["Reqs_Correlativo"].ToString();

        try
        {
            foreach (GridViewRow row in GridView1.Rows)
            {
                FileUpload FileUpload1 = (FileUpload)row.FindControl("FileUpload1");
                //FileUpload1.Attributes["onchange"] = "UploadFile(this)";
                TextBox txtObservaciones = (TextBox)row.FindControl("txtObservaciones");

                _Requ_Numero      = GridView1.DataKeys[row.RowIndex].Values[0].ToString(); // extrae key
                _Reqd_CodLinea    = GridView1.DataKeys[row.RowIndex].Values[1].ToString(); // extrae key
                _Reqs_Correlativo = GridView1.DataKeys[row.RowIndex].Values[2].ToString(); // extrae key
                string  fileName      = string.Empty;
                String  fileExtension = string.Empty;
                Boolean fileOK        = false;
                string  fileArchivo   = string.Empty;
                string  Name          = string.Empty;
                if (FileUpload1.HasFile)
                {
                    fileName = EliminarCaracteres.ReemplazarCaracteresEspeciales(FileUpload1.FileName.ToString());
                    int length = FileUpload1.PostedFile.ContentLength;

                    fileExtension = Path.GetExtension(FileUpload1.FileName);

                    String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg", ".pdf", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".txt" };
                    for (int i = 0; i < allowedExtensions.Length; i++)
                    {
                        if (fileExtension == allowedExtensions[i])
                        {
                            fileOK = true;
                        }
                    }
                }

                if (fileOK)
                {
                    try
                    {
                        // Se carga la ruta física de la carpeta temp del sitio
                        string ruta        = Server.MapPath(FolderAlquiler);
                        string rutaBackups = FolderAlquilerBackups;
                        // Si el directorio no existe, crearlo
                        //if (!Directory.Exists(ruta))
                        //    Directory.CreateDirectory(ruta);

                        string archivo = String.Format("{0}\\{1}", ruta, FileUpload1.PostedFile.FileName);
                        Name = FileUpload1.PostedFile.FileName;
                        // Verificar que el archivo no exista
                        if (File.Exists(archivo))
                        {
                            fileArchivo = EliminarCaracteres.ReemplazarCaracteresEspeciales(_Requ_Numero + "." + _Reqd_CodLinea + "-" + _Reqs_Correlativo + "_Sustentos_" + DateTime.UtcNow.ToFileTimeUtc() + Path.GetExtension(FileUpload1.PostedFile.FileName));
                            FileUpload1.SaveAs(ruta + fileArchivo);
                            FileUpload1.SaveAs(rutaBackups + fileArchivo);
                        }

                        else
                        {
                            fileArchivo = EliminarCaracteres.ReemplazarCaracteresEspeciales(_Requ_Numero + "." + _Reqd_CodLinea + "-" + _Reqs_Correlativo + "_Sustentos_" + Path.GetFileName(FileUpload1.FileName));
                            //FileUpload1.SaveAs(archivo);
                            FileUpload1.SaveAs(ruta + fileArchivo);
                            FileUpload1.SaveAs(rutaBackups + fileArchivo);
                        }


                        DataTable dtrpta = new DataTable();
                        BL_TBL_RequerimientoSubDetalle obj = new BL_TBL_RequerimientoSubDetalle();

                        obj.uspInsertarArchivosAdicionales_Alquiler(_Requ_Numero, _Reqd_CodLinea, _Reqs_Correlativo, FolderAlquiler, fileArchivo, fileName);
                        file();
                    }
                    catch (Exception ex)
                    {
                        cleanMessage = "Archivo no puedo ser cargado";
                        ScriptManager.RegisterStartupScript(this, typeof(Page), "invocarfuncion", "doAlert('" + cleanMessage + "');", true);
                    }
                }
            }
        }
        catch (Exception ex)
        {
        }
    }