none
problema al abrir un pdf RRS feed

  • Pregunta

  • hola a todos una consulta quisiera saber porque no puedo abrir un archivo pdf  que se encuentra alojado en mi pc con esta linea de codigo o de que otra manera lo puedo hacer

     Response.Redirect("C:\\"+TextBox1.Text);

    le agradecia unar respuesta;

     


    necesito eliminar una pregunta
    domingo, 21 de agosto de 2011 3:07

Respuestas

Todas las respuestas

  • domingo, 21 de agosto de 2011 3:22
  • el Response.Redirect() debe recibir una url, no un path fisico a un archivo, o sea con c:\ no funciona

    debes darle un http://sitio/carpeta/pagina.aspx

    no se que envias en el TextBox pero si debes poner uan url a la cual quieres redireccionar

    si es un archivo deberias enviarlo en un handler, o sea poner la url del handler que se encargara de la descarga

    [ASP.NET] Grabar Archivo en base de datos

    en la primer parte del articulo veras como crear el handler y como este pone en el Response el array de byte del mismo para que al usar algo como ser

    http://sitio/nombrehandler.ashx?nombrefile=nombre.doc

    podrias descargar un archivo en el cliente

     

    Nota: recomendaria le des una repaso a la programacion con asp.net porquee sta pregunta es bastante basica, con leer solo al intraduccion a asp.net deberias conocer estos comando y como usarlos

    te dejo uan ayuda

    Asp.net Ebook online

    un ebook online en español sobre asp.net

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 21 de agosto de 2011 5:32
  • hola gracias por tu respuesta pero creo q no me dje entnder bien y por eso tu aclracion mira lo que necisto hacer es exactmente lo siguiente e podido crear hasta ahora una carpeta fisica en la pc (del cliente) pero en si para poder visualizar el pdf necesito crear una ruta virtual por lo que podido entender de los errores q salen y lo intentado crear a traves del fileupload instanciando pero nada como te dije inicialmente necesito descargar de un servidor ftp lo cual hasta el momento e logrado subir archivos pero no descargar bueno si de la forma fisica pero no asignar el archivo a una carpeta virtal del sitio web mira aqui le dkjo el codigo espero q me puedan ayudar:

    utilizao el siguiente metodo para descargar:

     //PARA DESCARGAR ARCHIVOS DEL FTP

        private void Download(string fileName)
        {
            FtpWebRequest reqFTP;
            try
            {
                FileStream outputStream = new FileStream("C:\\" + fileName, FileMode.Create);

    /*pretndi usar este codigo pero no me da resultado
                //Server.MapPath(Path.Combine("~/files", filename)
    //            FileUpload fileupload = new FileUpload();
    //            string fullPath = Path.Combine(Server.MapPath("~/Archivos"),fileName);/*a esta carpeta virtual q esta en mi sitio web  o aplicacion web debo asignarle el archivo pdf*/
    ////            FileUpload fileupload = new FileUpload();
    //            fileupload.SaveAs(fullPath);

                reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + fileName));
                reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
                reqFTP.UseBinary = true;
                reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
                FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
                Stream ftpStream = response.GetResponseStream();
                long cl = response.ContentLength;
                int bufferSize = 2048;
                int readCount;
                byte[] buffer = new byte[bufferSize];

                readCount = ftpStream.Read(buffer, 0, bufferSize);
                while (readCount > 0)
                {
                    outputStream.Write(buffer, 0, readCount);
                    readCount = ftpStream.Read(buffer, 0, bufferSize);
                }

               
                ftpStream.Close();
                outputStream.Close();
                response.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

    este es boton que utilizo para visulizar el pdf:

     protected void Button4_Click(object sender, EventArgs e)
        {
            EBCotizacion ebcotizacionx = new EBCotizacion();
            ebcotizacionx.Cargar1(txtnroc.Text, dgcot1.SelectedRow.Cells[1].Text, "QRY04");
            //ebcotizacionx.Cargar1(txtnroc.Text, "0005016268", "QRY04");
            //000501626800842.PDF
            string fileName;


         //   Download(TextBox1.Text);
            //TextBox1.Text = "0005016268839"; //ebcotizacionx.Archivo.ToString();

            //Response.Redirect("C:\\" + TextBox1.Text + ".pdf");
            Response.Redirect("~/Descargar.aspx?filename=" + TextBox1.Text);
    }

    este es la otra pagina que cree para realizar la descarga del archivo:


    public partial class Descargar : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string filename = Request.QueryString["filename"].ToString();

            Response.Clear();

            Response.AddHeader("content-disposition", string.Format("attachment;filename={0}", filename));
            Response.ContentType = "application/octet-stream";

            Response.WriteFile(Server.MapPath(Path.Combine("~/Archivos", filename)));

            Response.End();
        }
    }


    necesito eliminar una pregunta
    domingo, 21 de agosto de 2011 7:58