js 上传文件的问题

如何使用js去获取本地的文件,然后进行上传呢?

不能让用户去选择文件上传,一进入这个页面,就会触发上传功能,这样能实现吗?

阅读 3.2k
5 个回答

用户不选你怎么知道文件在用户电脑上哪的, 最主要的是如果不选就可以直接上传的话, 那用户电脑上的机密信息不是就可以轻易获取了

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript">
        window.onload=function(){
            var active=document.getElementById("fileInput");
            var mouseEvent = document.createEvent("MouseEvents");//FF的处理 
            mouseEvent.initEvent("click", true, true);
            active.dispatchEvent(mouseEvent);
        }
    </script>
</head>
<body>
    <input type="file" id="fileInput">
</body>
</html>

进入页面后模拟一个click事件即可
$(domEle).click();

我回答一下我的思路吧:

1) 首先,我对于不在浏览器中运行的JS是否可以,或者虽然在浏览器中运行,但是使用worker之类形式运行的JS

是否可以不做描述,因为我不了解

2) 其次,我对于除去以上情况的外的JS实现,目前仅仅想到了利用input[type=file]的HTML5接口去突破

3) 最后我查了一下文档,input[type=file]在w3c 上面的文档

clipboard.png

根据文档上面的描述,input上传文件应该是要等待用户的选择的。

我也抛出另外一些不相关的案例,俩表示浏览器的黑科技好多,我不懂啊,所以hack手段怎么去考虑,我也不知

道。。。

  1. 怎样看待 w3cplus 网站插入一段以太币挖矿代码 ?
  2. How can I read the client's machine/computer name from the browser?

从功能实现上来说,如果是web应用,则不行,如果是html包装的普通应用(不是web应用),就是普通的应用程序了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题