获取本地数据文件并读取
我找到了函数showName(),但未能完成
<p><input type="file" id="fileInput" onchange="showName()" /></p>
<script>
function showName(){
window.name=document.getElementById('fileInput');
console.log('Selected file: ' + window.name.files.item(0).name);
console.log('Selected file: ' + window.name.files.item(0).size);
console.log('Selected file: ' + window.name.files.item(0).type);
}
function fName(){
alert(window.name);
}
showName();
fName();
</script>
我希望保存文件名以便以后使用,但是我什么也没得到。
答案 0 :(得分:0)
仅在选择文件后,才能调用showName()
或fName()
。
function showName(field) {
window.fakepath = field.value;
window.filename = field.files.item(0).name;
fName();
}
function fName() {
alert('filename: ' + window.filename);
alert('fakepath: ' + window.fakepath);
}
<p><input type="file" id="fileInput" onchange="showName(this)" /></p>
顺便说一句,您在函数定义中遇到了意外的问号。
答案 1 :(得分:0)
首先,不建议将数据存储在窗口对象上,特别是如果可以避免的话。此外,您不能覆盖窗口上的name
字段,因为它始终是一个字符串。
这里与您的解决方案非常相似,使用局部变量fileData
。
另外,似乎应该在输入更改后调用fName函数,因此我还添加了必要的行。
<p><input type="file" id="fileInput" onchange="showName()" /></p>
<script>
let fileData;
function showName(){
fileData=document.getElementById('fileInput');
console.log('Selected file: ' + fileData.files.item(0).name);
console.log('Selected file: ' + fileData.files.item(0).size);
console.log('Selected file: ' + fileData.files.item(0).type);
fName(); /// added this to run fName when input changes
}
function fName(){
console.log(fileData);
}
</script>
答案 2 :(得分:-1)
访问通过Dom选择器输入的文件:
var selectedFile = document.getElementById('input').files[0];
然后访问如下属性:
var name = selectedFile.name