私はjavascriptとGoogle Chrome Appでローカルファイルを読み込もうとしています(これはChromeでは不可能かもしれません)。しかし、問題の最新のアプローチがわかりません。Javascript、FileReaderとローカルファイルを読み込むためのXMLHttpRequest?
私は次のコードでそれを読むことができます:
obj.read = function() {
return new Promise(function(resolve){
var xmlhttp = new XMLHttpRequest();
var file_path = 'file_name.xml';
xmlhttp.open('GET', file_path, true);
xmlhttp.send(null);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
let xml = xmlhttp.responseText;
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xml, "text/xml");
console.log(xml);
console.log(xmlDoc);
resolve(xmlDoc);
}
}
});
};
しかし、私は(私はハードを抱えている(https://stackoverflow.com/a/24495213/826815からコピー)
var reader = new FileReader();
reader.onload = (function(theFile) {
return function(e) {
console.log(e.target.result);
};
})(file_path);
var file_path = 'file_name.xml';
var file_parts = [
new Blob(['you construct a file...'],{type: 'text/plain'}),
'Same way as you do with blob',
new Uint16Array([33])
];
var file = new File(file_parts, file_path);
reader.readAsText(file);
ようなものを使用する必要がありますようにそれがありますこのトピックに関する文献を見つけること)
だから、どうしたらいいですか?
いくつかのことは明確ではありません:1)「私は次のコードで読むことができます」 - なぜそうではないのですか?良いアプローチ?なぜあなたはそれを変更しようとしていますか? 2) "ローカルファイル"とはどういう意味ですか?あなたの例は、あなたのアプリのパッケージ内のファイル用です。それだけでいいの? – Xan
1)それは問題です、それは "良い"アプローチですか? 「第2の」アプローチはありますか?もしそうなら、どちらを選ぶべきですか? 2)ローカルファイルで私は、アプリケーションがあるのと同じフォルダにあるファイルを意味するが、まだパッケージ化していないので、アプリケーションのパッケージ内にあるとしか推測できない – Gerard