C#: Invio file tramite http da un server ad un altro

mercoledì 03 dicembre 2008 - 15.59

gene_old Profilo | Junior Member

Ciao a tutti,

devo spedire un file .zip (o qualsiasi formato) da un server ad un altro in quanto non posso usare l'ftp, utilizzando c#.

L'unico metodo che teoricamente posso usare è HTTP.
Dovrei leggere il file residente sul server A e in qualche modo mandarlo ad una pagina aspx che risiede sul server B dove recupera questo file e lo salva.

Vi posto il codice che utilizzo:

Codice che crea la put dal server A al server B
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Codice che recupera il file in fomato base64 sul server B
path=Server.MapPath(NomeFile); byte[] binaryData=Convert.FromBase64String(Request.Form["file1"].ToString()); FileStream fs= new FileStream(path,FileMode.Create); fs.Write(binaryData, 0, binaryData.Length); fs.Close();


Non mi funziona perchè quando riconverto il file in byte mi dice che il formato base64 contiene caratteri non validi .
Questo me lo fa per tutti i file tranne che per i file di testo tipo .rtf.

Ciao e grazie mille in anticipo!!!

rossimarko Profilo | Guru

Ciao Gene,

prova ad usare la classe WebClient e il metodo UploadFile al posto dell'XmlHttp: http://msdn.microsoft.com/it-it/library/esst63h0.aspx

Nella documentazione trovi sia l'esempio della console application di upload sia della pagina aspx per leggere i dati
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
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