でファイルを開こうとしました。
window.open("file:///D:/Hello.txt");
ブラウザは、おそらくセキュリティ上の理由から、この方法でローカルファイルを開くことを許可していません。ファイルのデータをクライアント側で使用したいのですが。どうすればJavaScriptでローカルファイルを読むことができますか?
新しいブラウザでは、Javascriptは通常ローカルファイルにアクセスできませんが、XMLHttpRequestオブジェクトはファイルの読み取りに使用できます。つまり、実際にファイルを読んでいるのは(Javascriptではなく)Ajaxなのです。
ファイル abc.txt
を読みたい場合は、次のようにコードを記述します。
var txt = '';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if(xmlhttp.status == 200 && xmlhttp.readyState == 4){
txt = xmlhttp.responseText;
}
};
xmlhttp.open("GET","abc.txt",true);
xmlhttp.send();
現在、txt
にはファイルabc.txtの内容が入っています。