Download exemplu
In unele interfete web este nevoie sa se poata deschide si incarca fisiere locale. Un exemplu bun este Google Docs unde incarci un fisier local si il stochezi/editezi online.
Pentru Internet Explorer deschiderea unui fisier html si afisarea lui s-ar face cam asa:
- In primul rand cream un buton de browse:
< form name=form1>
< input type=file name="browse" onChange="afisare()" onClick="sterge()">
< /form>
- Spatiul din pagina in care se va face afisarea este un container: < div id ="test">
- Deschiderea si citirea din fisier se va face cu ajutorul ActiveXObject de tipul FileSystemObject si functiei OpenTextFile:
var myFileSysObj = new ActiveXObject("Scripting.FileSystemObject");
var myInputTextStream = myFileSysObj.OpenTextFile(document.form1.browse.value, 1, true);
if(myInputTextStream.AtEndOfStream)
{
alert("file is empty");
sterge();
return;
}
var str = new String(myInputTextStream.ReadAll());
var d = document.getElementById('test');
d.innerHTML=str;
myInputTextStream.Close();
- Numele fisierului l-am extras din campul browse document.form1.browse.value si inainte de a citi tot fisierul myInputTextStream.ReadAll() am verificat daca fisierul nu e gol sau s-a ajuns la capatul stream-ului if(myInputTextStream.AtEndOfStream), caz in care ReadAll ar fi generat eroare.
Fisierul fiind deschis intr-un string, acum fisierul poate fi modificat sau se pot face cautari utilizand proprietatile si functiile obiectelor de tip string ca de exemplu: str.length, str.slice(start_index, stop_index), str.lastIndexOf(string, start_index), str.indexOf(string,start_index), str.substr(start_index,nr_of_char)
Un alt obiect foarte util pentru prelucrarea stringurilor in javascript este RegExp pentru utilizarea expresiilor regulate. Crearea unui obiect RegExp se poate face asa:
var myregexp = /regex/;
sau
re = new RegExp("\\w+");
Un exemplu de utilizare combinata a obiectelor String si RegExp ar fi urmatoarul:
myString.replace(myregexp, "replacement")
Niciun comentariu:
Trimiteți un comentariu