Come aprire un file di testo remoto utilizzando Server.MapPath in ASP.Net?
-
21-09-2019 - |
Domanda
Questo è quello che ho in questo momento per un file che risiede sullo stesso server e funziona.
Dim FILENAME as String = Server.MapPath("Output.txt")
Dim objStreamWriter as StreamWriter
objStreamWriter = File.CreateText(FILENAME)
dr = myCommand.ExecuteReader()
While dr.Read()
objStreamWriter.WriteLine("{0}|{1}|{2:yyyy-MM-dd}|{3:yyyy-MM-dd}", dr(0), dr(1), dr(2), dr(3))
End While
objStreamWriter.Close()
Stavo pensando di FTPing il file su un altro server una volta fatto, ma c'è un modo per farlo su un server remoto? cioè creare un file di testo su un server remoto e scrivere su di esso? Non hai trovato tutte le istanze di tale uso. Come utilizzare ServerXMLHTTP per sostituire Server.MapPath in questo caso?
Grazie mille per il vostro tempo.
Soluzione
Utilizzando MapPath
e StreamWriter
in questo modo non funzionerà. Questo è pensato per uno scenario di file locale. È possibile file direttamente FTP da .NET utilizzando FtpWebRequest .
Ecco un esempio di utilizzo FtpWebRequest di scrivere un file (esempio da qui ):
FtpWebRequest request =
(FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/output.txt");
request.Method = WebRequestMethods.Ftp.UploadFile;
// This example assumes the FTP site uses anonymous logon.
request.Credentials =
new NetworkCredential ("anonymous","janeDoe@contoso.com");
Stream requestStream = request.GetRequestStream();
requestStream.Write(stuff); // write your stuff here
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Console.WriteLine("Upload File Complete, status {0}",
response.StatusDescription);
response.Close();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow