Newsgroup: it.lavoro.professioni.webmaster
Titolo: [NON OT] Upload di un file da Visual Basic

Neccessito di far si che un utente sia in grado di spedire un file che si
trova sul suo computer nella cartela di un sito. Possibilmente il file non
dovrebbe essere spedito come allegato di una mail.
Cercherò di essere breve.
Ho una pagina ASP che esegue l’upload ma voglio evitare che utilizzatori
meno esperti si trovino davanti alla solita finestra di Windoews con il
tasto sfoglia che gli permette di girovagare nelle cartelle del loro pc.
Il file da spedire ha due caratteristiche molto importanti:
si trova sempre nella stessa cartella;
la sua estensione è nota (si tratta sempre di un file di Word)
In altre parole l’unica incognita è il nome con il quale l’utente l’ha
salvato.
Quello che vorrei ottenere è un metodo che permetta ad un utente di spedirmi
un file dichiarandone soltanto il nome.
Ho provato in mille modi ma senza riuscirci... pernsavo ora di rendere
disponibile una applicazione in VB da scaricare che si occupasse di ciò, del
tutto autonomamente o magari passando i valori alla mia pagina ASP.
Ho pensato che in questo News possano esserci persone che abbiano
dimestichezza con entrambi i linguaggi.
Ogni consiglio sarà prezioso e vi ringrazio fin d’ora.

 tutto autonomamente o magari passando i valori alla mia pagina ASP.
Puoi utilizzare le API di windows per l'upload, tipo FTPputFile, e gestire
la connessione con InternetOpen, InternetConnect ed altre che trovi tutte
nella libreria di windows wininet.dll.
Fai una ricerca su web e troverai sicuramente esempi e codici già pronti per
VB.

Ogni consiglio sarà prezioso e vi ringrazio fin d’ora.
guarda, io ho riadattato un esempio che ho trovato su
4guysfromrolla.com
 per fare un upload col pulsante sfoglia.  adesso
come adesso non posso mettermi a cercarlo, magari più tardi.
comunque, se ricordo bene il pulsante "sfoglia" è un <input...>
qualcosa e tutta la faccenda sostanzialmente è un form.  *credo*
(ripeto, credo...) che se in quel form sostituisci il pulsante sfoglia
con un <input type = text...> e ne usi il contenuto per costruire
un'apposita stringa aggiungendo percorso ed estensione, dovresti
ottenere il risultato voluto.
magari più tardi controllo, sentiti libero di ricordarmelo se non vedi
una mia ulteriore risposta.

'noti' che si trovano nei pc dei client sempre allo stesso posto!
mah, se ho capito bene lui vuole solo evitare che l'utente girovaghi
per le sue cartelle col tasto sfoglia e che possa invece scrivere il
nome del file in un'input...  cioè l'azione dell'upload la farebbe
comunque l'utente...

 comunque l'utente...
Già, ma in questo caso, l'evento submit del form con il quale invii il file,
potrebbe anche essere comandata da uno script all'interno della pagina, e tu
perderesti il controllo.


mmmh...  tu dici che ad esempio uno potrebbe usare un campo hidden con
un nome file standard, tipo c:\windows\system.ini, e sfruttare
l'evento on load per submittare il form?


OK... io ci provo, ma se ti avanzano 5 min o ti imbatti per sbaglio in
qualche codice.... mica me lo manderesti? :-)

 l'evento on load per submittare il form?
Giustamente questo è stato in qualche modo evitato ed infatti non funziona.
Ho provato a creare un campo dove l'utente inserisce il nome del file, un
campo hidden che ne completa le informazioni ma... purtroppo (o per
fortuna!!!) non funziona.
Un file viene inviato solo da un campo input type=file
E' per questo che pensavo ad un eseguibile in VB da rendere downlodabile.

 una mia ulteriore risposta.
Saro' implacabile!  :-)

campo hidden che ne completa le informazioni ma... purtroppo (o per
Con hidden non funziona, forse pero' puoi mettere un <input type=file
che sia invisibile all'utente
Bonf


Moderatore di it.comp.www.asp
http://www.aspitalia.com
 Enjoy the .NET community!
http://www.dev2dev.it
 La rete ha connesso nuove particelle!

 solo il client a manina.
infatti e' un campo che non puo' essere valorizzato...
bai
--
Lino Mari [MOD it.economia.e-commerce]
http://www.viadeimercanti.com
 -  Servizi e Software per l'E-Commerce
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D004
http://corsi.aspitalia.com
 - ASP - 
ASP.NET
, riconosciuti IWA

 qualche codice.... mica me lo manderesti? :-)
Per VB non cell'ho pronto, ma ti posto quello con Visual FoxPro.
Fai i piccoli cambiamenti che servono.
*************************************************************************
PARAMETERS strHost, strUser, strPwd, strSource,strTarget
* Es. "127.0.0.1", "nomeutente", "password", "e:\test.txt",
"sottocartella/test.txt"
DECLARE INTEGER InternetOpen IN wininet.DLL STRING sAgent, INTEGER
lAccessType,;
 STRING sProxyName, STRING sProxyBypass, STRING lFlags
DECLARE INTEGER InternetCloseHandle IN wininet.DLL INTEGER hInet
DECLARE INTEGER InternetConnect IN wininet.DLL INTEGER hInternetSession,;
STRING sServerName, INTEGER nServerPort, STRING sUsername,;
STRING sPassword, INTEGER lService, INTEGER lFlags, INTEGER lContext
DECLARE INTEGER FtpPutFile IN wininet.DLL INTEGER hConnect, STRING
lpszLocalFile,;
 STRING lpszNewRemoteFile, INTEGER dwFlags, INTEGER dwContext
* Accede alle funzioni di collegamento
hOpen = InternetOpen ("vfp", 1, 0, 0, 0)
lOk = IIF(hOpen = 0, .F., .T.)
* Connessione FTP
hFtpSession = InternetConnect (hOpen, strHost, 0, strUser, strPwd, 1, 0, 0)
IF hFtpSession = 0
* Chiude le funzioni di collegamento ed esce
 = InternetCloseHandle (hOpen)
 lOk = .F.
ELSE
 lOk = .T.
ENDIF
IF lOk
* Trasferimento del file
 FtpPutFile (hFtpSession, strSource, strTarget, 2, 0)
 = InternetCloseHandle (hFtpSession)
 = InternetCloseHandle (hOpen)
ENDIF
*************************************

, 
l...@NOSPAM.blunet.it
 
says...

A che punto siete con gli esperimenti?
Mi interessa...
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
    itALY = it