Comment ouvrir un fichier texte à distance à l'aide Server.MapPath dans ASP.Net?
-
21-09-2019 - |
Question
est ce que j'ai en ce moment pour un fichier résidant sur le même serveur et il fonctionne.
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()
Je comptais FTPing le fichier vers un autre serveur une fois fait, mais est-il un moyen de le faire sur un serveur distant? i.e. créer un fichier texte sur un serveur distant et y écrire? N'a pas trouvé d'exemples de cette utilisation. Comment utiliser ServerXMLHTTP pour remplacer Server.MapPath dans ce cas?
Merci beaucoup pour votre temps.
La solution
Utilisation MapPath
et StreamWriter
cette façon ne fonctionnera pas. Ceci est destiné à un scénario de fichiers local. Vous pouvez directement les fichiers FTP de .Net utilisant FtpWebRequest .
Voici un exemple d'utilisation FtpWebRequest pour écrire un fichier (exemple de ici ):
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();