在Edge扩展程序中,我想获取所有上传文件的名称。这是我的代码:
document.addEventListener('click', (event) => {
const element = event.srcElement;
const elementName = element.localName;
if (elementName === 'input') {
if (element.getAttribute('type') === 'file') {
element.onchange = function (e) {
console.log(e.target.value);
}
}
}
});
但是,这个console.log是:
{"notifyType":"consoleItemLog","message":{"message":"","styles":"","hasFormatString":true,"targetId":"uid36","fileUrl":"js/contentscript.js","lineNumber":49,"columnNumber":17}}
我不知道如何获取上传文件名? 当我console.log(e)时,onchange被拒绝权限。
非常感谢您!
答案 0 :(得分:0)
我可以看到您要使用OnChange事件,但是我不知道您想在哪里使用此事件。 最好使用button的click事件来获取上传文件的列表。 下面是示例代码。
<!DOCTYPE html>
<html>
<body>
<p>Click the button to create a File Upload Button.</p>
<input type="file" id="fileElementId" name="files[]" multiple/>
<button onclick="fun2()">Try it</button>
<script>
function fun2()
{
var inp = document.getElementById('fileElementId');
for (var i = 0; i < inp.files.length; ++i) {
var name = inp.files.item(i).name;
//alert("here is a file name: " + name);
console.log("here is a file name: " + name);
}
}
</script>
</body>
</html>
输出: Click here to see the output:
致谢
Deepak