Je télécharge un fichier à partir d'un serveur FTP et l'enregistre dans le répertoire défini dans Path.GetTempPath(); cependant, j'obtiens l'erreur suivante: Impossible de trouver une partie du chemin.C# Path.GetTempPath renvoie l'erreur "Impossible de trouver une partie du chemin"
J'ai confirmé que le chemin renvoyé est correct: C: \ Users \ [nom_utilisateur] \ AppData \ Local \ Temp. SYSTEM, les administrateurs et [nom d'utilisateur] ont tous un contrôle total sur ce répertoire.
Je pensais que le point du répertoire temporaire était qu'il était ouvert pour tout/tout le monde à enregistrer, mais juste au cas où, j'ai donné des autorisations Modifier le service réseau aussi. (Je suppose que c'est le nom d'utilisateur que le serveur Dev.NET Dev utilise, mais je ne suis pas sûr.)
J'utilise VS 08 sur Vista.
Voici mon code:
FtpWebRequest downloadRequest = (FtpWebRequest)WebRequest.Create(
ConfigurationManager.AppSettings["FTPServer"] + "//" + fileName);
downloadRequest.Credentials = new NetworkCredential(
ConfigurationManager.AppSettings["FTPUsername"],
ConfigurationManager.AppSettings["FTPPassword"]);
downloadRequest.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse downloadResponse =
(FtpWebResponse)downloadRequest.GetResponse();
try
{
Stream downloadStream = downloadResponse.GetResponseStream();
if (downloadStream != null)
{
logger.Info("File Download status: {0}",
downloadResponse.StatusDescription);
StreamReader downloadReader = new StreamReader(downloadStream);
try
{
if (downloadReader != null)
{
StreamWriter downloadWriter =
new StreamWriter(Path.GetTempPath());
downloadWriter.AutoFlush = true;
downloadWriter.Write(downloadReader.ReadToEnd());
}
}
finally
{
if (downloadReader != null)
{
downloadReader.Close();
}
}
}
}
finally
{
if (downloadResponse != null)
{
downloadResponse.Close();
}
}
J'apprécierais vraiment des idées sur ce que je fais mal ici.
Merci!
Merci! Je reçois des erreurs en disant que mon chemin a des caractères illégaux quand j'utilise le code ci-dessus mais pas quand je code le nom de fichier, ce qui est bizarre. –
Vérifiez la valeur de la chaîne dans fileName. Peut-être qu'il doit être désinfecté de caractères étranges? – Stephen
Ouais, vérifié cela. J'écris la chaîne dans le journal, et ça a l'air bien: 2009-09-10124317Z_FirstLast_metadata.txt. Et si je code en dur la chaîne que j'ai copiée du journal dans le StreamWriter cela fonctionne. –