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
codice:
FileStream inFile = new FileStream(Server.MapPath("../../Temp/16.jpg"), System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] binaryData = new Byte[inFile.Length];
long bytesRead = inFile.Read(binaryData, 0, (int)inFile.Length);
inFile.Close();
string base64String = "file1="+Convert.ToBase64String(binaryData, 0, binaryData.Length);
string strUrl = "http://11.11.11.111/Prova/recuperFile.aspx";
XMLHTTP objXMLhttp = new XMLHTTP();
objXMLhttp.open("POST", strUrl, false, "", "");
objXMLhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
objXMLhttp.send(base64String);
if (objXMLhttp.status == 200) 
{
   msgErrore.Value=objXMLhttp.responseText;
}else{
    msgErrore.Value=objXMLhttp.responseText;
}

Codice che recupera il file in fomato base64 sul server B
codice:
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!!!