这就是我现在所拥有的文件,它位于同一台服务器上并且可以正常工作。
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()
我计划在完成后将文件FTP到另一台服务器,但有没有办法在远程服务器上执行此操作?即在远程服务器上创建一个文本文件并写入它?没有找到任何该用法的实例。如何在此实例中使用ServerXMLHTTP替换Server.MapPath?
非常感谢您的时间。
答案 0 :(得分:1)
使用MapPath
和StreamWriter
这种方式无效。这适用于本地文件方案。您可以使用FtpWebRequest直接从.net FTP文件。
以下是使用FtpWebRequest编写文件的示例(来自here的示例):
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();