当使用Internet Explorer 7或8时,我们可以使用JavaScript获取上传文件的完整路径。这种方法针对IE浏览器而言,Chrome、Firefox、Edge和Safari等浏览器不支持。以下是如何使用JS获取IE上传文件路径的完整攻略:
方法一:利用ActiveX对象
在IE浏览器中使用ActiveX对象可以实现获取IE上传文件路径的功能,具体步骤如下:
1.使用<input type="file">
元素作为文件上传表单。
<input type="file" id="myFileInput">
2.在JavaScript代码中使用ActiveXObject
对象来创建Microsoft.XMLHTTP或Microsoft.XMLDOM等ActiveX对象。
var myFileInput = document.getElementById("myFileInput");
var filePath = "";
if (window.ActiveXObject) {
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.load(myFileInput.value);
filePath = xmlDoc.documentElement.firstChild.nodeValue;
}
//获取到的文件路径filePath可以用来进行接下来的操作
上述代码获取到的myFileInput.value
,作为load
方法的参数传入XMLDOM
对象中后会返回一个包含上传文件路径信息的XML文档对象。
方法二:利用FileSystemObject对象
在IE浏览器中使用FileSystemObject对象也可以实现获取IE上传文件路径的功能,具体步骤如下:
1.使用<input type="file">
元素作为文件上传表单。
<input type="file" id="myFileInput">
2.在JavaScript代码中使用ActiveXObject
对象来创建Microsoft.FileSystemObject对象。
var myFileInput = document.getElementById("myFileInput");
var filePath = "";
if (window.ActiveXObject) {
var fso = new ActiveXObject("Scripting.FileSystemObject");
filePath = fso.GetFileName(myFileInput.value);
}
//获取到的文件路径filePath可以用来进行接下来的操作
上述代码获取到的是上传文件的文件名,可以通过此文件名获取文件路径,从而进行接下来的操作。
以上两种方法都可以用来获取IE浏览器上传文件的路径,根据实际需求选择合适的方法即可。其中方法一使用的是XMLDOM对象,方法二使用的是FileSystemObject对象。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何使用JS获取IE上传文件路径(IE7,8) - Python技术站