Aload File

lunedì 01 dicembre 2008 - 23.27

lukjs Profilo | Newbie

Buonasera...ho realizzato un'applicazione windows che accede ad un file collocato sul server e attraverso la quale popola una Datagridview.
L'utente può effettuare tutte le modifiche che desidera ai records della tabella e salvare il contenuto modificato in un file Xml. Ora vorrei che tramite l'applicazione windows si possa effettuare un upload del file sul server.

Qualche suggerimento? Grazie per ogni eventuale suggerimento

Luca

rossimarko Profilo | Guru

Ciao,

l'upload come deve essere fatto? Via FTP o HTTP?

Per iniziare puoi guardare la classe WebClient (http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=115)
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

lukjs Profilo | Newbie

L'upload deve essere fatto via html, attraverso l'applicazione windows. Mi piacerebbe che il programma chiamasse una pagina web passando il path del file e che la pagina web provveda a caricarlo in una cartella specifica del server. Ho pensato allo strumento FIleUpload, ma richiede l'intervento dell'utente per selezionare il file. Non sono riuscito a fornirgli dinamicamente il path del file di cui effettuare l'upload.

Grazie mille per avermi risposto

rossimarko Profilo | Guru

Allora devi usare il webclient sulla tua winapp e predisporre nel tuo sito una pagina aspx che prenda in carico i file postati e li salvi su server.

Nella documentazione trovi un esempio a riguardo: http://msdn.microsoft.com/it-it/library/esst63h0.aspx

Codice Windows Application:
/ Create a new WebClient instance. WebClient myWebClient = new WebClient(); string fileName = Console.ReadLine(); // Upload the file to the URL using the HTTP 1.0 POST. byte[] responseArray = myWebClient.UploadFile(uriString,"POST",fileName);

Codice pagina web:
void Page_Load(object sender, EventArgs e) { foreach(string f in Request.Files.AllKeys) { HttpPostedFile file = Request.Files[f]; file.SaveAs("c:\\inetpub\\test\\UploadedFiles\\" + file.FileName); } }

Come vedi non c'è bisogno di nessun controllo di input, basta prendere i riferimenti ai file dalla request perchè vengono postati direttamente dalla windows application nella richiesta http.
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

lukjs Profilo | Newbie

Infatti, era proprio quello di cui avevo bisogno. Quella di utilizzare il controllo FileUplaod era una via traversa. Pensavo che esistesse un'alternativa, ma non ero riuscito a trovarla. Grazie mille. Ora sono in ufficio e non posso provare. Ci guarderò stasera. Grazie mille
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5