2009-06-26 4 views
0

Je travaille avec du code qui télécharge une image à partir d'un formulaire et la stocke sur notre serveur. Dans Internet Explorer, l'utilisateur peut entrer un chemin manuellement, et je me demande comment je peux vérifier que le fichier existe, c'est-à-dire que l'utilisateur a entré un chemin valide.Vérification d'un chemin valide lors du chargement d'un fichier à l'aide de commons-fileupload

Un objet FileItem est utilisé pour vérifier la taille (par exemple, fileItem.getSize() < MAX_SIZE) et je me demande si une bonne approche consiste à utiliser size pour vérifier que le fichier existe. Par exemple:

if (fileItem.getSize() == 0) { 
    // Somethings wrong -- invalid path. 
} else { 
    // File exists -- valid path. 
} 

Toutes les suggestions sont appréciées. Merci!

+0

Je pense que vous n'avez même pas un FileItem quand il n'y a rien téléchargé. – akarnokd

+0

J'obtiens un FileItem, mais la taille est nulle pour tout chemin d'accès entré. – Chocula

+0

Merci, je n'étais pas sûr à ce sujet car je n'ai jamais testé mes téléchargements de fichiers en ne téléchargeant pas quelque chose. Je suppose que vous savez quel type de choses est autorisé à être téléchargé et ne vous attendez pas vraiment à un fichier de longueur nulle, vous pouvez simplement rester avec votre méthode. – akarnokd

Répondre

1

Sur le client, vous ne pouvez pas lire de manière fiable le texte d'un contrôle de téléchargement de fichier avec un script. IE8 et Opera10, par exemple, vous mentiront et fourniront un chemin générique contenant "C: \ fakepath \". Ceci est fait pour des raisons de confidentialité.

Sur le serveur, vous pouvez faire exactement comme vous avez fait, vérifiez simplement que vous avez effectivement un fichier dans le téléchargement, et si oui, alors vous pouvez examiner le fichier, déterminer s'il correspond à vos critères.

Questions connexes