Comme vous l'avez déjà noté, de nombreux navigateurs ne vous permettent simplement pas de le faire. C'est 1) une bonne chose (sécurité et autres joyeusetés), 2) la bonne réponse (il n'y a aucun moyen de les forcer à donner le chemin complet, à court d'exploit). Je suis désolé que vous ne l'aimez pas, mais il est peu probable que la réponse soit différente. Sur une note plus positive, il peut être possible d'utiliser une applet Flash ou Java pour accéder aux fichiers locaux (par exemple, Uploadify), mais l'utilisateur doit alors autoriser son élévation de privilèges.
Editer: J'ai vérifié ce que GMail fait, et vous voulez probablement quelque chose de complètement différent de votre question: il utilise un iframe
habilement déguisé (pas de frontières, même arrière-plan, ressemble à une partie de la page), qui contient une petite forme téléchargement de fichiers. Simplifié:
<form id="main_mail_form">
<input type="hidden" name="compose_mail_identifier" value="id_beef-cafe">
<!-- buttons and previous form fields - subject, to, cc -->
<iframe src="attachments?for_message=id_beef-cafe">
<!-- note that we're passing ^^^^^^^^^^^^ the same identifier here -->
</iframe>
<!-- other form fields and buttons -->
</form>
A l'intérieur du iframe:
<form id="attachment_mail_form">
<input type="hidden" name="compose_mail_identifier" value="id_beef-cafe">
<!-- ^^ note that this has the same value as the main form -->
<input type="file">
<!-- other form elements -->
</form>
Lorsque vous ajoutez une pièce jointe au courrier, vous ne soumettez le formulaire dans le iframe. Google semble faire correspondre les pièces jointes avec les e-mails en utilisant un identifiant unique par message (nommé compose_mail_identifier
dans l'exemple). De cette façon, les pièces jointes et le message sont traités par des formulaires différents, et seulement fusionnés dans un e-mail lorsque vous cliquez sur "Envoyer".
Voulez-vous dire que vous avez besoin de savoir où il habite? –
Votre question concerne le chemin complet du fichier. Mais il me semble que vous voulez réellement télécharger un fichier.Pour cela, vous pouvez google sur JQuery File Upload. – extraneon
oui je veux où le fichier vit côté client –