最近在做一个老师给的作业项目,要做个网页程序,上传数据文件呈现散点图的。要实现的功能很单一,一个页面完全可以呈现所有内容。做成动态网页,连接后端好像太大材小用了,所以我决定一路单机到底。但是遇到的最大的问题就是,如何把文件传进浏览器借助C3来呈现散点图。
我网上找了很多教程,最后我选择了最简单的一种杂糅办法:(因为我没学过JS,惭愧)
html文件里有这个:
<input class="MyButtion" id="data2" type="file" value="上传">
然后JS文件里写这个(不懂的地方搜对象名):
var tmp1;//数据文件存这里
var input=document.getElementById("data1");
//console.log(info);
input.onchange=function () {
var file = this.files[0];
if(!!file){
var reader=new FileReader();
reader.readAsText(file,"gbk");//gbk编码
reader.onload=function () {
tmp1=this.result;
console.log(this.result);//打印检查
};
}
};
然后tmp1里就存了json的所有文件数据了,然后要解析成对象就这样做:
var d1=JSON.parse(tmp1);
d1就是你上传的json文件里的对象了。
本教程只是针对应付一个作业的情况,用到了HTML5+JQuery的功能,请谨慎使用这样的杂技。