我只需要获取浏览文件的名称,格式和内容,不需要多个文件。即使我不能使用任何HTML5 API / jQuery。能否指导我,只使用纯JavaScript,我该如何解决这个问题。
这是小提琴: [https://jsfiddle.net/summtz8m/][1]
完成所有操作后,我需要单击ImportASN1按钮以在REST服务中POST数据。
这是我的HTML
<button class="ebBtn" id="importButt" name="importButt"><span>Import ASN1</span></button><input type="file" id="myfile" name="myfile"><p id="contents"></p>
这是我的JS
var file = document.getElemtById("myfile").files[0];
console.log(file);
if (file) {
// create reader
var reader = new FileReader();
reader.readAsText(file);
reader.onload = function(e) {
// browser completed reading file - display it
console.log(e.target.result);
};
}
答案 0 :(得分:0)
您当前的代码在页面加载时运行。但那时文件输入还没有填写完毕!而是,听取按钮上的click
事件或文件输入上的change
事件。
此外,还有一个拼写错误:document.getElemtById
应为document.getElementById
。使用浏览器中的开发者控制台(许多浏览器中的 F12 →控制台)来查找这些错误。
文件名将出现在file.name
property。
<script>
document.getElementById("myfile").addEventListener('change', function(ev) {
var file = ev.target.files[0];
var reader = new FileReader();
reader.readAsText(file);
reader.onload = function(e) {
console.log(file.name, e.target.result);
};
});
</script>