2010-04-24 19 views
0

J'écris une application ASP qui servira les fichiers aux clients via le navigateur. Les fichiers se trouvent sur un serveur de fichiers disponible depuis la machine sur laquelle IIS s'exécute via un chemin UNC (\ server \ some \ path).Comment télécharger un fichier à partir d'un partage UNC mappé via IIS et ASP

Je veux utiliser quelque chose comme le code ci-dessous pour servir le fichier. Au service des fichiers locaux sur la machine IIS est en cours d'exécution sur fonctionne bien avec cette méthode, ma peine est d'être en mesure de servir les fichiers de l'UNC mappé part:

//Set the appropriate ContentType. 
Response.ContentType = "Application/pdf"; 

//Get the physical path to the file. 
string FilePath = MapPath("acrobat.pdf"); 

//Write the file directly to the HTTP content output stream. 
Response.WriteFile(FilePath); 
Response.End(); 

Ma question est de savoir comment je peux spécifier un chemin UNC pour le nom de fichier. Aussi, pour accéder au partage de fichiers, je dois me connecter avec un nom d'utilisateur/mot de passe spécifique.

J'apprécierais quelques conseils sur la façon dont je peux y parvenir (soit en utilisant l'approche ci-dessus ou par d'autres moyens).

Répondre

1

Je ne suis pas un gars ASP donc je peux me tromper complètement avec ces réponses.

En ce qui concerne le chemin, je ne pense pas que vous devriez utiliser MapPath, puisque c'est d'obtenir un chemin relatif et vous connaissez déjà le chemin physique ne peut donc pas vous changer juste que pour:

string FilePath = @"\\Server\Directory\FileName.txt"; 

En ce qui concerne le compte, je pense que vous devez utiliser l'usurpation d'identité, ce lien semble discuter ceci:

http://aspalliance.com/336_Upload_Files_Using_ASPNET_Impersonation_and_UNC_Share.all

+0

Merci pour l'entrée. La suggestion d'emprunt d'identité m'a fait aller dans la bonne direction, et j'ai réussi à traquer le lien suivant http://support.microsoft.com/default.aspx?scid=KB;EN-US;306158 qui a une section comment je peux implémenter l'emprunt d'identité dans une section spécifique de code dans une page ASP. – helgeg