Autore Topic: Download di files tramite webview  (Letto 1741 volte)

Offline nelchael81

  • Gamberetto
  • *
  • Post: 14
    • Mostra profilo
Download di files tramite webview
« il: 19 Febbraio 2017, 11:23:07 »
Ciao a tutti,
è il mio primo post su questo forum, spero che i miei post non siano troppo inutili e spero di poter contribuire nel rispondere a qualche vostro post.

Sto provando ad utilizzare la webview per servire un'applicazione web.
Funziona tutto abbastanza bene, ma quando premo su dei link che servono per farmi scaricare dei files, non accade nulla.
C'è un modo per risolvere questo problema ?
Grazie a tutti in anticipo per le eventuali risposte.

Offline nelchael81

  • Gamberetto
  • *
  • Post: 14
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #1 il: 19 Febbraio 2017, 11:40:08 »
Ho provato ad includere questo codice senza successo:
Codice: [Seleziona]
Public Sub WebView1_Download(Download As WebDownload)
  Download.Path = System.User.Home &/ File.Name(Download.Url)
End

Offline nelchael81

  • Gamberetto
  • *
  • Post: 14
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #2 il: 19 Febbraio 2017, 11:49:35 »
Non so se può aiutare per un'eventuale risoluzione, ma spiego in dettaglio cosa voglio scaricare:
La pagina web presenta un pulsante che, tramite javascript effettua una chiamata ad una pagina che a sua volta, tramite fpdf, genera un pdf da inviare al browser.
Utilizzato in un normale browser di solito, se c'è installato il corretto plugin, il pdf viene visualizzato direttamente nel browser, altrimenti viene scaricato.

Se necessario potrei tranquillamente adattare il pulsante al fine di farlo funzionare correttamente con la webview di gambas.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #3 il: 19 Febbraio 2017, 15:17:35 »
Puoi allegare un brevissimo progetto che riproduce la parte essenziale del tuo progetto principale ?
In particolare che riproduca la "pagina web presenta un pulsante che, tramite javascript effettua una chiamata ad una pagina che a sua volta....", in modo tale da poter effettuare direttamente dei test.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline nelchael81

  • Gamberetto
  • *
  • Post: 14
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #4 il: 19 Febbraio 2017, 17:31:39 »
Ciao vuott, in realtà ho provato a fare un semplice <a href="test.pdf">scarica</a> e già non funzionava.
Ho provato a scaricare il progetto webbrowser da questo forum e effettivamente con quel codice riesco a scaricare sia il file di prova sia il pdf generato dinamicamente con fpdf.
Mi studierò il codice e vi farò sapere.
Tenete presente che sono su gambas da si e no 3 giorni :D

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #5 il: 19 Febbraio 2017, 18:35:01 »
...fammi capire meglio:  tu vuoi scrivere una specifica linea di comando che consenta all'oggetto WebView di scaricare un file, presente in un determinato indirizzo web ?


ho provato a fare un semplice <a href="test.pdf">scarica</a> e già non funzionava.
Ad ogni modo questa riga a me funziona perfettamente:
Codice: [Seleziona]
WebView1.HTML = "<A href=http://www.gambas-it.org/smf/Themes/logo2.png>Mostra logo Gambas-it.org</a>"
« Ultima modifica: 19 Febbraio 2017, 18:52:38 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #6 il: 19 Febbraio 2017, 20:11:45 »
Io ho provato questo codice ma non funziona, vedi allegato.
Per provare il codice occorre prima avere/inserire un qualunque file pdf nella nostra home.
Occorre de-commentare compilata con i dati giusti la frase "<a href="file:///home/Vs nome/nome file.pdf"download="Test.pdf">Clicca qui</a>" del file pdf nella cartella dati.
Se si prova cliccando sul file html nella cartella tmp funziona ma in Gambas con la webview no.
Nota: ho inserito gli stessi websetting dell'esempio webbrowser  :-\
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #7 il: 19 Febbraio 2017, 20:48:23 »
Boh... sembra che dipenda un po' anche dai file o dai siti.   :-\

Infatti inserendo questo semplice codice nel file html, che poniamo nella cartela /tmp :

Codice: [Seleziona]
<HTML><HEAD>
  <a href="http://midi45.altervista.org/Mango_BellaDEstate.mid">Clicca qui</a>
  </head>
</html>

e quest'altro nel progetto Gambas:
Codice: [Seleziona]
Public Sub Form_Open()

   WebView1.Url = "/tmp/prova.html"

End

riesco ad ascoltare il file Midi.

Ma utilizzando direttamente la proprietà ".HTML" dell'oggetto WebView non è più possibile.   :-\
« Ultima modifica: 21 Febbraio 2017, 11:49:52 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #8 il: 19 Febbraio 2017, 21:00:53 »
Ma con il pdf non funziona, almeno a me.
Prova questo indirizzo:
Codice: [Seleziona]
<a href="https://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwiHgav095zSAhWBkBQKHcB5A6sQFggcMAA&url=http%3A%2F%2Fwww.agenziaentrate.gov.it%2Fwps%2Ffile%2FNsilib%2FNsi%2FAgenzia%2FAgenzia%2Bcomunica%2FProdotti%2Beditoriali%2FGuide%2BFiscali%2FAgenzia%2Binforma%2Fpdf%2Bguide%2Bagenzia%2Binforma%2FGuida_Ristrutturazioni_edilizie.pdf&usg=AFQjCNEZhZaDS2pbAlGgq1HfGiqtsPghQg"download="Test.pdf">Clicca qui</a>
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #9 il: 20 Febbraio 2017, 15:19:24 »
Non funziona.   
« Ultima modifica: 20 Febbraio 2017, 15:30:02 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #10 il: 20 Febbraio 2017, 17:22:59 »
Forse potrebbe chiedere sulla ML ufficiale
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline nelchael81

  • Gamberetto
  • *
  • Post: 14
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #11 il: 21 Febbraio 2017, 10:18:09 »
Ciao ragazzi,
uso la webview per caricare, all'avvio del programma, un mio gestionale web-based.
Se lo faccio utilizzando il progetto webbrowser scaricato dal forum, funziona tutto perfettamente. Scarica sia i pdf "statici" che quelli creati dinamicamente, senza nessun problema.
Mi studierò il codice utilizzato nel progetto webbrowser per inserirlo nel mio progetto, che non fa altro che mostrare una webview a tutto schermo.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #12 il: 21 Febbraio 2017, 10:26:24 »
Se lo faccio utilizzando il progetto webbrowser scaricato dal forum, funziona tutto perfettamente. Scarica sia i pdf "statici" che quelli creati dinamicamente, senza nessun problema.
Mi studierò il codice utilizzato nel progetto webbrowser
Molto bene.
Facci sapere quale riga di codice e quale risorsa usa per scaricare con WebView i file pdf.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #13 il: 21 Febbraio 2017, 10:30:37 »
Se lo faccio utilizzando il progetto webbrowser scaricato dal forum, funziona tutto perfettamente. Scarica sia i pdf "statici" che quelli creati dinamicamente, senza nessun problema.
Mi studierò il codice utilizzato nel progetto webbrowser
Molto bene.
Facci sapere quale riga di codice e quale risorsa usa per scaricare con WebView i file pdf.

Potrebbe essere questo l'inghippo:

Codice: [Seleziona]
Private Sub GetView() As WebView
 
  Try Return tabBrowser[tabBrowser.Index].Children[0]
 
End

La differenza fra le nostre prove e WebBrower così WebBrowser può caricare pagine multiple
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline nelchael81

  • Gamberetto
  • *
  • Post: 14
    • Mostra profilo
Re:Download di files tramite webview
« Risposta #14 il: 21 Febbraio 2017, 11:08:18 »
Bisognerà trasformare quel codice per farlo funzionare senza le tab...così dovrei risolvere.