Как открыть удаленный текстовый файл с помощью Server.MapPath в ASP.Net?
-
21-09-2019 - |
Вопрос
Это то, что у меня есть сейчас для файла, находящегося на том же сервере, и он работает.
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 в этом случае?
Большое вам спасибо за ваше время.
Решение
С использованием MapPath
и StreamWriter
этот способ не сработает.Это предназначено для сценария с локальным файлом.Вы можете напрямую FTP-файлы из .net, используя FTPWebRequest.
Вот пример использования FtpWebRequest для записи файла (Пример из здесь):
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();
Не связан с StackOverflow