Je veux que les fichiers texte abandonnés soient affichés par leur contenu ou leur emplacement complet afin que je puisse charger des contenus de cet emplacement dans le "Drop_Zone".
C'est ce que j'ai jusqu'à présent. J'étais juste en mesure d'accéder au nom de fichier: p>
3 Réponses :
http://www.html5rocks.com/fr/Tutorials/file/dndfiles/ devrait être une bonne ressource. Vous devez utiliser une FileReader pour lire le contenu du fichier sous forme de chaîne. P>
En raison des limites de sécurité, une page n'est pas en mesure de charger des matières de fichiers sans quelque chose comme un applet Java configuré avec des autorisations appropriées; Et, même alors, ce n'est pas trop possible. P>
Cependant, cela ne veut pas dire que c'est impossible; Téléchargez simplement le fichier sur un serveur et echo le contenu de votre navigateur sur le navigateur. C'est le nombre de fonctions d'applications Web de type texte de type texte. P>
Comment vous implémentez ceci est à vous. P>
En outre, comme Maz a souligné, vous pouvez également utiliser des API intégrées pour vous aider à faire ce que vous essayez de faire. Notez cependant cette solution n'est pas nécessairement compatible avec un navigateur croisé. P>
Voici le code final:
<html> <head> <title></title> </head> <body> <textarea id="drop_zone">Drop files here</textarea> <script> function handleFileSelect(evt) { evt.stopPropagation(); evt.preventDefault(); var files = evt.dataTransfer.files; // FileList object. var reader = new FileReader(); reader.onload = function(event) { document.getElementById('drop_zone').value = event.target.result; } reader.readAsText(files[0],"UTF-8"); } function handleDragOver(evt) { evt.stopPropagation(); evt.preventDefault(); evt.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy. } // Setup the dnd listeners. var dropZone = document.getElementById('drop_zone'); dropZone.addEventListener('dragover', handleDragOver, false); dropZone.addEventListener('drop', handleFileSelect, false); </script> </body> </html>
Cela fonctionne en chrome mais pas dans IE11? Une solution de contournement?