无法弄清楚如何将输入文件更改为静态文件夹文件
Can't figure out How to change the input file to an static folder file
我这里有一个 'stolen' 代码,我想将输入扇区更改为服务器上我的文件夹中的文件,而无需先上传文件。问题是我在 javascript 中有点不好弄明白,如何更改代码来做到这一点。谢谢你的帮助。
<script src="jquery-2.1.4.min.js"></script>
<script lang="javascript" src="xlsx.full.min.js"></script>
<input type="file" id="input-excel" src="test.xslx"/>
<div id="wrapper">
</div>
<script>
$('#input-excel').change(function(e){
reader.readAsArrayBuffer(e.target.files[0]);
reader.onload = function(e) {
var data = new Uint8Array(reader.result);
var wb = XLSX.read(data,{type:'array'});
//var htmlstr = XLSX.write(wb,{sheet:"Kondensatoren", type:'binary',bookType:'html'});
var htmlstr = XLSX.write(wb,{sheet:"Tabelle1", type:'binary',bookType:'html'});
$('#wrapper')[0].innerHTML += htmlstr;
}
});
</script>
您的问题令人困惑,但这里介绍了如何使用 AJAX 在您的服务器上请求文件,而无需其他人先上传文件。
你用它做什么仍然取决于你。
我注意到它是一个 xslx 文件,不像 CSV 那样容易解析,因此对于您的 ajax 请求,您需要解析二进制文件。
var oReq = new XMLHttpRequest();
oReq.open("GET", "test.xslx", true);
oReq.responseType = "arraybuffer";
oReq.onload = function(oEvent) {
var arrayBuffer = oReq.response;
// if you want to access the bytes:
var byteArray = new Uint8Array(arrayBuffer);
// ...
// create a new blob (change type to whatever)
var blob = new Blob(arrayBuffer, {type: "image/png"});
// whatever...
};
oReq.send();
谢谢@Tallboy。仅适用于像我这样的其他新手。完整代码是。
<script src="jquery-2.1.4.min.js"></script>
<script lang="javascript" src="xlsx.full.min.js"></script>
<div id="wrapper"></div>
<script>
var oReq = new XMLHttpRequest();
oReq.open("GET", "test.xlsx", true);
oReq.responseType = "arraybuffer";
oReq.onload = function(oEvent) {
var arrayBuffer = oReq.response;
var data = new Uint8Array(arrayBuffer);
var wb = XLSX.read(data,{type:'array'});
var htmlstr = XLSX.write(wb,{sheet:"Kondensatoren", type:'binary',bookType:'html'});
$('#wrapper')[0].innerHTML += htmlstr;
};
oReq.send();
</script>
我这里有一个 'stolen' 代码,我想将输入扇区更改为服务器上我的文件夹中的文件,而无需先上传文件。问题是我在 javascript 中有点不好弄明白,如何更改代码来做到这一点。谢谢你的帮助。
<script src="jquery-2.1.4.min.js"></script>
<script lang="javascript" src="xlsx.full.min.js"></script>
<input type="file" id="input-excel" src="test.xslx"/>
<div id="wrapper">
</div>
<script>
$('#input-excel').change(function(e){
reader.readAsArrayBuffer(e.target.files[0]);
reader.onload = function(e) {
var data = new Uint8Array(reader.result);
var wb = XLSX.read(data,{type:'array'});
//var htmlstr = XLSX.write(wb,{sheet:"Kondensatoren", type:'binary',bookType:'html'});
var htmlstr = XLSX.write(wb,{sheet:"Tabelle1", type:'binary',bookType:'html'});
$('#wrapper')[0].innerHTML += htmlstr;
}
});
</script>
您的问题令人困惑,但这里介绍了如何使用 AJAX 在您的服务器上请求文件,而无需其他人先上传文件。
你用它做什么仍然取决于你。
我注意到它是一个 xslx 文件,不像 CSV 那样容易解析,因此对于您的 ajax 请求,您需要解析二进制文件。
var oReq = new XMLHttpRequest();
oReq.open("GET", "test.xslx", true);
oReq.responseType = "arraybuffer";
oReq.onload = function(oEvent) {
var arrayBuffer = oReq.response;
// if you want to access the bytes:
var byteArray = new Uint8Array(arrayBuffer);
// ...
// create a new blob (change type to whatever)
var blob = new Blob(arrayBuffer, {type: "image/png"});
// whatever...
};
oReq.send();
谢谢@Tallboy。仅适用于像我这样的其他新手。完整代码是。
<script src="jquery-2.1.4.min.js"></script>
<script lang="javascript" src="xlsx.full.min.js"></script>
<div id="wrapper"></div>
<script>
var oReq = new XMLHttpRequest();
oReq.open("GET", "test.xlsx", true);
oReq.responseType = "arraybuffer";
oReq.onload = function(oEvent) {
var arrayBuffer = oReq.response;
var data = new Uint8Array(arrayBuffer);
var wb = XLSX.read(data,{type:'array'});
var htmlstr = XLSX.write(wb,{sheet:"Kondensatoren", type:'binary',bookType:'html'});
$('#wrapper')[0].innerHTML += htmlstr;
};
oReq.send();
</script>