And*_*rey 5 javascript fetch filereader
我设法逐字节读取文本文件,并将字符集从 windows-1251 更改为 Unicode,以便通过input元素和FileReader. 现在我想对来自我的服务器的文件做同样的事情,通过fetch. 有可能这样做吗?(这fetch将在通过 HTTP 提供的页面中,并且 URL 将是相对的,例如fetch("raw/graph_tab.txt") - 我不会像使用input字段和那样尝试直接从最终用户的机器读取文件FileReader)。
工作代码块('windows-1251.js'库由 Mathias Bynens 创建):
<input type="file" id="file"/>
<script type="text/javascript">
document.getElementById("file").addEventListener("change", readFile, false);
function readFile (evt) {
var files = evt.target.files;
var file = files[0];
var reader = new FileReader();
reader.onload = function(event) {
console.log(windows1251.decode(event.target.result));
}};
Run Code Online (Sandbox Code Playgroud)
如果您的意思是您想要encoding该方法的参数FileReader.readAsText(Blob, encoding),那么您可以在响应的标头中设置一个charset参数。Content-Type
如果出于某种原因这是不可行的,那么您必须使用 Blob 的Body.blob()方法将Response对象消费到 Blob ,然后将生成的Blob传递给 FileReader。
否则,不,即使Response对象具有与FileReader类似的方法,该text()方法也不提供编码选项...