Question

Je ne sais même pas si cela est possible ou non, mais est-il une méthode que vous pouvez prendre la valeur du fichier sélectionné dans une entrée de fichier à une entrée texte ?

Comme ceci:

text alt

Était-ce utile?

La solution

crochet sur l'événement change du champ de fichier.

<form method="post" enctype="multipart/form-data">
    <input type="file" onchange="this.form.filename.value = this.value">
    <input type="text" name="filename">
</form>

jsFiddle démo . Notez que IE6 / 7 donne de manière incorrecte le chemin complet alors que d'autres navigateurs donne correctement que le nom du fichier.

Autres conseils

Cela devrait être possible en créant un nouvel élément d'entrée de texte et le peuplant avec la propriété .value de l'entrée de fichier.

Notez, cependant, que tous les navigateurs modernes stockent seul le nom du fichier dans la propriété value pour des raisons de sécurité. Vous ne serez pas en mesure d'obtenir le chemin complet du fichier sélectionné.

Sources: MSDN sur IE8

Vous ne pouvez pas le faire sans stocker d'abord le fichier sur votre propre serveur.

Le contrôle d'entrée de fichier ne pas contiennent les données du fichier. Votre navigateur vous fournit comme un espace réservé jusqu'à ce que vous soumettez les données de fichiers via une soumission de formulaire POST.

Si vous êtes après le chemin du fichier, vous pouvez aussi ne pas le faire (dans les navigateurs modernes, comme le dit Pekka). Le navigateur ne donne pas ces informations aux scripts côté client. Il peut fournir le nom du fichier, cependant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top