none
Gestionar carpeta de descargas navegador web en .net RRS feed

  • Pregunta

  • Hola Buenos días  quisiera saber como hago para configurar la carpeta de descarga desde mi navegador web 

    este es mi código

    Public Class Form1
    
        Private WithEvents browser As ChromiumWebBrowser
    
        Public Sub New()
            InitializeComponent()
    
            Dim settings As New CefSettings()
            'CefSharp.Cef.Initialize(settings)
    
            browser = New ChromiumWebBrowser("http://localhost/") With {
                .Dock = DockStyle.Fill
            }
            panBrowser.Controls.Add(browser)
    
        End Sub
    
        Private Sub panBrowser_Paint(sender As Object, e As PaintEventArgs) Handles panBrowser.Paint
    
        End Sub
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Me.WindowState = FormWindowState.Maximized
            Me.Location = Screen.PrimaryScreen.WorkingArea.Location
            Me.Size = Screen.PrimaryScreen.WorkingArea.Size
        End Sub
    End Class

      


    • Editado jhom24 lunes, 29 de junio de 2020 7:53
    lunes, 29 de junio de 2020 7:53

Todas las respuestas

  • hola

    Que es lo que quieres descargar? hay alguna interaccion que se necesite para la descarga, porque sino la hay entonces deberias usar otra libreria como ser

    WebClient.DownloadFile()

    alli podras indicar donde quieres descargarlo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 29 de junio de 2020 13:09
  • La pagina convierte reporte en en pdf  y excel  para descargar  

    lunes, 29 de junio de 2020 13:57
  • >>La pagina convierte reporte en en pdf  y excel  para descargar 

    ok pero necesitas una interaccion para realizar esa conversion, o solo es implica realizar una llamada al sitio pasando por post el documento?

    por lo generar estos componentes de WebBrowser se integran con su version instalada, imagino en este caso Chrome, entonces seguramente la carpeta donde descargue sera la misma que alli configures, podrias cambiar la condifurcion para que solicite donde realizar la descarga y ver si el componente toma esa confguracion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 29 de junio de 2020 14:07
  • Comprendo  tienes una idea o algún código de ejemplo que me puedas sugerir  desde ya me ha sido de mucha ayuda  tu intervención.
    lunes, 29 de junio de 2020 14:15
  • Es que no hay codigo, el usuario es quien configura en el Chrome donde quiere guardar las descargas, puede definir una carpeta o pedirle que le pregunte en cada descarga, eso esta en la config de Chrome

    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 29 de junio de 2020 14:21
  • Hola jhom24,

    Gracias por levantar tu consulta en los foros de msdn. En la documentación oficial de CefSharp se habla de la interface IDownloadHandler. Esta clase es utilizada para manejar las descargas de archivos CefSharp. Te recomiendo intentar instanciar IDownloadHandler de esta manera (debes reemplazar "\Downloads\" por la ruta que deseas usar):

    public class DownloadHandler : IDownloadHandler
    {
                public event EventHandler<DownloadItem> OnBeforeDownloadFired;
    
                public event EventHandler<DownloadItem> OnDownloadUpdatedFired;
    
                public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
                {
                    var handler = OnBeforeDownloadFired;
    
                    if (handler != null)
                    {
                        handler(this, downloadItem);
                    }
    
    				if (!callback.IsDisposed)
                    {
                        using (callback)
                        {
                            callback.Continue(@"C:\Users\" + 
                                    System.Security.Principal.WindowsIdentity.GetCurrent().Name. + 
                                    @"\Downloads\" + 
                                    downloadItem.SuggestedFileName, 
                                showDialog: false);
                        }
                    }
                }
    
                public void OnDownloadUpdated(IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
                {
                    var handler = OnDownloadUpdatedFired;
                    if (handler != null)
                    {
                        handler(this, downloadItem);
                    }
                }
    }


    En este caso al estar el parámetro del método Continue de IBeforeDownloadCallback como false, no se va a mostrar el cuadro de diálogo predeterminado "Guardar como". Puedes cambiarlo a true si lo deseas. Si no es lo que buscabas, por favor danos más detalles como, por ejemplo, la versión de CefSharp que estas utilizando y una explicación más a fondo de que es exactamente lo que te gustaría lograr. Acá te adjunto información oficial de CefSharp sobre DownloadHandler:


    Información


    Saludos cordiales

     

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    lunes, 29 de junio de 2020 22:31
    Moderador
  • Hola jhom24

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las  respuestas proporcionadas?  

    Espero tu respuesta.  

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Saludos cordiales

    Gabriel Castro
    miércoles, 1 de julio de 2020 18:25
    Moderador
  • Hola  ayer envié una repuesta de un pequeño error   que me sale a la hora de implementa el código  por algún motivo no se publico. 

    el caso es este yo convertir el código a net  y me esta arrojando los siguientes erres

     

    también decía que que quien  tiene que estar agradecido  soy yo y miles de usuario que igual que yo  encontramos persona como  Gabriel Castro R y

     Leandro Tuttini

    quienes desinteresada mente ayudan a persona a encontrar una solución  a lo problemas que se van presentando en el camino de verdad muy agradecido   y dar las gracias por dejarme ser parte de esta comunidad.  


    • Editado jhom24 jueves, 2 de julio de 2020 1:47
    jueves, 2 de julio de 2020 1:40
  • Hola jhom24,

    Es un gusto ayudarte en todo lo que sea posible. Por favor comparte que versión de CefSharp estás utilizando.

    Saludos cordiales

    Gabriel Castro

    viernes, 3 de julio de 2020 0:41
    Moderador