<input type=file>的value取出来的值居然不过同

html/jsp页面中:

 

 

<input type="file" name="file" id="imgFile">

<input type="submit" name="Submit" value="上传" onClick="clickBtn()">

 

 

选中图片后打印下文件的地址:

 

function clickBtn(){

var tt = document.getElementById("imgFile");

alert(tt.value);

}

 

 

悬着的图片路径是:C:\Users\Administrator\music.jpg

现在有两种效果:

1、直接打开本地路径下的该页面C:\Users\Administrator\workspace\temp\WebContent\upload.htm,alert出来的是C:\Users\Administrator\music.jpg,这个是正确的;

2、该页面发布在了tomcat下后再输入http://localhost:8080/temp/upload.htm  打开改页面后,alert出来的是C:\fakepath\music.jpg;事实上根本不存在C:\fakepath\这个路径,这是怎么一回事呢,为什么会不同?该怎样才能显示真实正确的路径?

1.可以通过修改ie设置实现

Internet选项 -> 安全 -> 自定义级别 -> 将本地文件上载至服务器时包含本地目录路径 -> 选“启动” -> 确定

2.也可以通过程序实现

[code="js"]var tt = document.getElementById("imgFile");
tt.select();

var realpath = document.selection.createRange().text;[/code]

详细介绍可以看一下下面的文章:

[url]http://yunzhu.iteye.com/blog/1116893[/url]