Cómo abrir un archivo de texto remota utilizando Server.MapPath en ASP.Net?
-
21-09-2019 - |
Pregunta
Esto es lo que tengo en este momento para un archivo que reside en el mismo servidor y funciona.
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()
Yo estaba pensando en FTPing el archivo a otro servidor Una vez hecho esto, pero hay una manera de hacerlo en un servidor remoto? es decir crear un archivo de texto en un servidor remoto y escribir en él? No ha encontrado ningún caso de que el uso. Cómo utilizar ServerXMLHTTP para reemplazar Server.MapPath en este caso?
Muchas gracias por su tiempo.
Solución
El uso de MapPath
y StreamWriter
esta manera no va a funcionar. Esto es para un escenario de archivos local. Puede archivos directamente desde FTP .NET utilizando FtpWebRequest .
Este es un ejemplo de la utilización de FtpWebRequest para escribir un archivo (Ejemplo de aquí ):
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();