虽然遇到过几次这个问题,但是大多数情况下,只要以最偷懒的方式告诉用户浏览器的设定就可以了:
internet选项-安全性-自定义级别-在将本地文件上传到服务器时包含本地目录路径-选择“启动”-确定
"但是,作为开发者,我们不能指望客户去这么做,所以我们必须通过代码解决这个问题。"
由于公司有自己的开发平台,页面上使用的上传控件不是简单的input(type=file ),而是开发平台封装的js控件。 修正这个问题花了一点时间。 首先找到封装这个控件的js文件,发现里面有很多定义的变量,如a、b、c、_uploadfile_,没有时间看整个文件
对于IE浏览器,搜索结果如下:
例如,上传文件控件的HTML代码如下:
input id='file_upl' type='file' /
在JS代码中,可以这样获取实际的文件路径。
varfile _ upl=document.getelementbyid (file _ upl );
file_upl.select (;
var realpath=document.selection.create range ().text;
如果我们使用Ext,我们将使用Ext.ux.form.FileField组件。 假设我们给的id是' file_upl ',这时同样会发生上述问题。 解决方法也相同,但必须获取type为file的input。 '根据文件
varfile _ upl=document.getelementbyid (file _ upl-file );
file_upl.select (;
var realpath=document.selection.create range ().text;