Comment obtenir le chemin complet du fichier lors de la sélection du fichier à l'aide <input type=‘file’>
<input type="file" id="fileUpload">
<script type="text/javascript">
function getFilePath(){
$('input[type=file]').change(function () {
var filePath=$('#fileUpload').val();
});
}
</script>
mais la var filePath contient le only name
fichier sélectionné, pas le full path
.
Je l'ai cherché sur net, mais il semble que pour des raisons de sécurité les navigateurs (FF, chrome) donnent juste le nom du fichier.
Existe-t-il un autre moyen d'obtenir le chemin complet du fichier sélectionné?
javascript
jquery
file-upload
filepath
Yogesh Pingle
la source
la source
Réponses:
Pour des raisons de sécurité, les navigateurs ne le permettent pas, c'est-à-dire que JavaScript dans le navigateur n'a pas accès au système de fichiers, mais en utilisant l'API de fichier HTML5, seul Firefox fournit une
mozFullPath
propriété, mais si vous essayez d'obtenir la valeur, il renvoie une chaîne vide:http://jsfiddle.net/SCK5A/
Alors ne perdez pas votre temps.
edit: Si vous avez besoin du chemin du fichier pour lire un fichier, vous pouvez utiliser l' API FileReader à la place. Voici une question connexe sur SO: prévisualiser une image avant de la télécharger.
la source
Essaye ça:
Cela vous donnera un chemin temporaire pas le chemin précis, vous pouvez utiliser ce script si vous souhaitez afficher les images sélectionnées comme dans cet exemple jsfiddle (Essayez-le en sélectionnant des images ainsi que d'autres fichiers): -
JSFIDDLE
Voici le code: -
HTML: -
JS: -
Ce n'est pas exactement ce que vous cherchiez, mais peut-être que cela peut vous aider quelque part.
la source
Vous ne pouvez pas le faire - le navigateur ne le permettra pas pour des raisons de sécurité.
Et autre
Vous l'avez manqué
);
à la fin de la fonction d'événement de modification.Ne créez pas non plus de fonction pour l'événement de changement, utilisez-le simplement comme ci-dessous,
la source
D
répertoire mais la valeur arriveC:\fakepath\test.xls
Tu ne peux pas. La sécurité vous empêche de tout savoir sur le système de classement de l'ordinateur client - il peut même ne pas en avoir! Il peut s'agir d'un MAC, d'un PC, d'une tablette ou d'un réfrigérateur compatible Internet - vous ne savez pas, ne pouvez pas savoir et ne saurez pas. Et vous donner le chemin complet pourrait vous donner des informations sur le client - en particulier s'il s'agit d'un lecteur réseau par exemple.
En fait, vous pouvez l'obtenir dans des conditions particulières, mais cela nécessite un contrôle ActiveX et ne fonctionnera pas dans 99,99% des circonstances.
Vous ne pouvez pas l'utiliser pour restaurer le fichier à l'emplacement d'origine de toute façon (car vous n'avez absolument aucun contrôle sur l'emplacement de stockage des téléchargements, ou même s'ils sont stockés), donc en pratique, cela ne vous est pas très utile de toute façon.
la source
Vouliez-vous dire cela?
la source
Vous pouvez utiliser le code suivant pour obtenir une URL locale fonctionnelle pour le fichier téléchargé:
la source
Une remarque intéressante: bien que cela ne soit pas disponible sur le Web, si vous utilisez JS dans Electron, vous pouvez le faire.
En utilisant l'entrée de fichier HTML5 standard, vous recevrez une
path
propriété supplémentaire sur les fichiers sélectionnés, contenant le vrai chemin de fichier.Documents complets ici: https://github.com/electron/electron/blob/master/docs/api/file-object.md
la source
Vous pouvez, si le téléchargement d'un dossier entier est une option pour vous
L'événement change contient:
la source
vous ne devriez jamais le faire ... et je pense que l'essayer dans les derniers navigateurs est inutile (d'après ce que je sais) ... par contre, tous les derniers navigateurs ne le permettront pas ...
d'autres liens que vous pouvez parcourir, pour trouver une solution de contournement comme obtenir la valeur côté serveur, mais pas dans côté client (javascript)
Chemin complet de l'entrée de fichier à l'aide de jQuery
Comment obtenir le chemin de fichier à partir du formulaire d'entrée HTML dans Firefox 3
la source
l'élément de fichier a et le tableau l'appelle
files
contient toutes les choses nécessaires dont vous avez besoinla source
Vous pouvez obtenir le chemin complet du fichier sélectionné à télécharger uniquement par IE11 et MS Edge.
la source