js 模拟弹框选择文件 异步无刷新上传

<html>
<head>
<script type="text/javascript">
function test()
{
var inputObj = document.createElement('input');//创建<input />
    inputObj.setAttribute('id', '_ef'); //创建id <input id="_ef" />
    inputObj.setAttribute('type', 'file'); //创建type <input id="_ef" type="file" />
    inputObj.setAttribute("style", 'visibility:hidden'); //创建style <input id="_ef" type="file" style="visibility:hidden" />
    document.body.appendChild(inputObj);
    inputObj.click(); //选择 (触发改隐藏按钮)

   uploadFile(inputObj.value);

}

function uploadFile(userfile) {
        var fd = new FormData();         //FormData对象
        var length = userfile.files.length;        //获取选中文件的个数(单文件直接追加即可)
        for(var i=0; i<length; i++){
            fd.append("userfile", userfile.files[i]);    //多文件追加到FormData
        }
        //fd.append("userfile", userfile.files[0]);        //单文件追加到FormData
        var xhr = new XMLHttpRequest();       //XMLHttpRequest对象
        xhr.open("POST", "${qy }/upload/uploadFiles");      //初始化一个请求
        // 注意:所有相关的事件绑定必须在调用send()方法之前进行.
        xhr.send(fd);//发送请求. 如果该请求是异步模式(默认),该方法会立刻返回. 相反,如果请求是同步模式,则直到请求的响应完全接受以后,该方法才会返回.
    }

</script>
</head>
<body>
<button type="button" οnclick="test()">点击这里</button>
</body>
</html>

这是一个模拟创建元素并在前端触发该元素弹出窗口 能够获得选择文件夹的完整路径

转载于:https://www.cnblogs.com/cxyzhangjie/p/8185015.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值