我希望将上传文件的内容读入 Javascript 变量。
该程序曾经使用 file.getAsBinary 工作,但现在已弃用,需要更新以使用 FileReader()
表单具有文件上传选择,onsubmit 在 javascript 中运行函数 uploadDB()。
变量 dbname 可以正常传递,上传选择中的文件名也是如此,我可以通过警报或 console.log 看到它。
接收文件文本的最终 bfile 变量未定义。我已经尝试过 readAsText 和 ReadAsBinary 但 bfile 未定义。var 声明在函数 uploadDB() 中,并且对于内部函数应该是全局的。如果范围在某种程度上是一个问题,我如何在 bfile 变量中获得结果。
它可能很简单,但我无法让它工作。有人可以建议一些东西吗?html部分是;
<form onsubmit="uploadDB()"; method="post">
Database <input type=text name="dbName" id="dbName" size=20>
<input type=file id="metaDescFile" size=50 >
<input type=submit value="Submit">
</form>
js脚本类似于(多余的东西被删掉了);
<script language="javascript" type="text/javascript">
<!--
var uploadDB = function() {
var input = document.getElementById('metaDescFile');
var fname = document.getElementById('metaDescFile').value;
var file=input.files[0];
var bfile;
reader = new FileReader();
reader.onload = function(e) { bfile = e.target.result }
reader.readAsText(file);
alert(bfile); // this shows bfile as undefined
// other stuff
}