首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >上传文件后自动访问文件的好方法是什么?

上传文件后自动访问文件的好方法是什么?
EN

Stack Overflow用户
提问于 2020-09-11 21:06:00
回答 1查看 40关注 0票数 0

我有一个输入标签,我禁用了它,并绑定到另一个输入标签,以创建自定义文本以及通过它打开文件资源管理器的能力。

HTML:

代码语言:javascript
复制
<input id="fileInput" type="file" accept="application/JSON" style="display:none;" />

<input title="Load a existing JSON file from your PC" id="btnUploadJSON" type="button"  value="Upload JSON" 
onclick="document.getElementById('fileInput').click();"
onMouseOver="this.style.backgroundColor='#efcc00'"onMouseOut="this.style.backgroundColor='#eee600'"/>

我在这里看了一个示例example of how to upload a json into variable,但它使用了两个按钮。1打开资源管理器,第二个解析并显示json。我想只有一个按钮来实现这一点。理想情况下,可以在文件资源管理器关闭后检查文件是否已上载,然后自动执行导入功能。

所以我的问题可能是,有没有一种方法可以检测文件资源管理器何时关闭,以及文件是否已被选中?

这是我的JS函数,问题是它在我选择文件之前触发,所以长度<= 0在文件资源管理器之前触发。是否可以让它等待文件资源管理器关闭,然后执行onclick()?

JavaScript:

代码语言:javascript
复制
document.getElementById('btnUploadJSON').onclick = function() {
    //uploading a json file via file explorer
    var files = document.getElementById('fileInput').files
    console.log(files)
    if (files.length <= 0) {
        alert("Json file seems to be empty or incorrect format, please double check you are uploading the right file!")
        return false
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-11 21:12:46

只需更改此行:

代码语言:javascript
复制
- document.getElementById('btnUploadJSON').onclick = function() {
+ document.getElementById('fileInput').onchange = function() {
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63847694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档