Oto szybki i brudny przykład oparty na formularzu o nazwie „myForm”, który zawiera wejście plik o nazwie „myfile”:
document.forms['myform'].elements['myfile'].onchange = function(evt) {
if(!window.FileReader) return; // Browser is not compatible
var reader = new FileReader();
reader.onload = function(evt) {
if(evt.target.readyState != 2) return;
if(evt.target.error) {
alert('Error while reading file');
return;
}
filecontent = evt.target.result;
document.forms['myform'].elements['text'].value = evt.target.result;
};
reader.readAsText(evt.target.files[0]);
};
tutaj jest związany formularz HTML:
<form id="myform">
<p>
<input id="myfile" name="files[]" multiple="" type="file" />
<textarea id="text" rows="20" cols="40">nothing loaded</textarea>
</p>
</form>
i a jsfiddle, aby go demonstrować.
Zobacz interfejs FileReader API – yent
Czy to jedyny sposób na zrobienie tego? – Wagtail
ahh nie zauważyłem php! cóż, tylko z JS to niemożliwe! ponieważ jest to skrypty po stronie klienta, nie po stronie serwera;) –