<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" onclick="test()">點擊這里</button>
</body>
</html>
這是一個模擬創建元素並在前端觸發該元素彈出窗口 能夠獲得選擇文件夾的完整路徑