2010-09-27 6 views
4

Lorsque j'utilise le contrôle de téléchargement de fichier, je reçois seulement le nom du fichier, mais je veux obtenir le chemin complet de l'emplacement du fichier.Récupère le chemin complet d'un téléchargement de fichier

Comment puis-je obtenir le chemin d'accès complet à partir du contrôle de téléchargement de fichiers dans ASP.NET?

+1

duplication possible de [Obtenir le chemin complet d'un fichier avec contrôle FileUpload] (http://stackoverflow.com/questions/1130560/get-full-path-of-a-file-with-fileupload-control) – ChrisF

Répondre

6

Ce n'est pas possible dans aucun navigateur, à titre de mesure de sécurité.

Si cela était possible, un attaquant pourrait obtenir des informations sur la manière dont les fichiers/dossiers ont été structurés sur un ordinateur client.

Pourquoi avez-vous besoin de cette information?

+1

' UploadControl.PostedFile.FileName 'donne le chemin complet dans Internet Explorer 8, (au moins dans mes tests) Chrome ne le fait pas. – Magnus

+2

@Magnus - IE8 est cassé de cette façon. – Oded

1

Vous ne pouvez pas l'obtenir parce que le navigateur ne l'envoie pas. Il serait dangereux que les navigateurs envoient le chemin complet au système de l'utilisateur.

-2

Je pense que vous avez le chemin du fichier de contrôle de téléchargement

HttpPostedFile httpBrowseFile = FileUpload1.PostedFile; 
int FileLength = httpBrowseFile.ContentLength; 
byte[] myData = new byte[FileLength]; 

httpBrowseFile.InputStream.Read(myData, 0, FileLength); 
FName = path + FileUpload1.PostedFile.FileName.Substring(FileUpload1.PostedFile.FileName.LastIndexOf('\\') + 1); 
+5

Vous pensez? Avez-vous vérifié? – Oded

+2

cela ne marchera jamais –

0

Si vous utilisez le contrôle de téléchargement ASP.NET, côté client, vous pouvez obtenir le chemin complet comme suit.

document.getElementById('UploadControl').value 

Du côté serveur,

UploadControl.PostedFile.FileName 

Vérifiez l'article MSDN HttpPostedFile.FileName Property pour plus d'informations.

Questions connexes