<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=10">
<meta >
1 function getPath(obj)
2 {
3 if(obj)
4 {
5
6 if (windownavigatoruserAgentindexOf("MSIE")>=1)
7 {
8 objselect();
9
10 return documentselectioncreateRange()text;
11 }
12
13 else if(windownavigatoruserAgentindexOf("Firefox")>=1)
14 {
15 if(objfiles)
16 {
17
18 return objfilesitem(0)getAsDataURL();
19 }
20 return objvalue;
21 }
22 return objvalue;
23 }
24 }
$('input')on('change',function(){
var value = $(this)val();
value = valuesplit("\\")[2];
})
value
就是名称。因为浏览器安全机制
获取到的value都是C:\fakepath\
加上名,所以可以用这个方式获取。
<input type="file" id="file_input">
<script>
$(function(){
$("#file_input")change(function(){
alert("文件名及路径"+$(this)val()+"\n文件类型可以根据扩展名来判断");
});
})
</script>
上传文件时,我想获取客户端上传文件的原始路径。第一考虑,当然是使用js,例如网上可以找到的:
function getPath(obj) { if (obj) { if (windownavigatoruserAgentindexOf("MSIE") >= 1) { objselect(); return documentselectioncreateRange()text; } else if (windownavigatoruserAgentindexOf("Firefox") >= 1) { if (objfiles) { return objfilesitem(0)getAsDataURL(); } return objvalue; } return objvalue; } } 但这样的代码在Ie下还是可行的,但在火狐下不兼容。所以又想通过servlet的第三方工具去做,例如FileUpload,本以为FileItem下的getName()方法能够得到全路径名,但结果仍然只得到文件名,很是杯具!求解决方法!?
引用至于你说的,不明白你的意思关键问题是我要获得这个路径,并且传递到后台!用js会有兼容性问题,如果用FileUpload上传,是否可以获得呢?我是没有得到的!!! 问题补充:zhanjia 写道上传文件一般用input标签,type为file,浏览选择文件后就是文件在本地的绝对路径了
引用至于你说的,不明白你的意思关键的问题是我要获得这个本地路径,并且传到后台!用js可以得到,但存在兼容性问题!?如果用FileUpload呢?我暂时还没有得到!!! 问题补充:zhanjia 写道网上的一些解决方案:
一般都是上传以后在数据库中保存上传后的文件路径,本地路径一般没意义
除非像上面所说的文件上传预览,还有那么点用处
我用来做数据接口的,我仅仅是把路径传给另一个系统,然后那个系统就可以从这个路径取文件了。
//根据不同浏览器获取路径
function getvl(obj){
//判断浏览器
var Sys = {};
var ua = navigatoruserAgenttoLowerCase();
var s;
(s = uamatch(/msie ([\d]+)/)) Sysie = s[1] :
(s = uamatch(/firefox\/([\d]+)/)) Sysfirefox = s[1] :
(s = uamatch(/chrome\/([\d]+)/)) Syschrome = s[1] :
(s = uamatch(/opera([\d]+)/)) Sysopera = s[1] :
(s = uamatch(/version\/([\d]+)safari/)) Syssafari = s[1] : 0;
var file_url="";
if(Sysie<="60"){
//ie55,ie60
file_url = objvalue;
}else if(Sysie>="70"){
//ie7,ie8
objselect();
file_url = documentselectioncreateRange()text;
}else if(Sysfirefox){
//fx
//file_url = documentgetElementById("file")files[0]getAsDataURL();//获取的路径为FF识别的加密字符串
file_url = readFileFirefox(obj);
}else if(Syschrome){
file_url = objvalue;
}
//alert(file_url);
documentgetElementById("text")innerHTML="获取文件域完整路径为:"+file_url;
}
以上就是关于关于前端jquery:选择文件var files=$("#img").files,输出files是undefined。求解全部的内容,包括:关于前端jquery:选择文件var files=$("#img").files,输出files是undefined。求解、jquery/js 得到file的value、jquery中获取<input type=file id='fileid'>路径问题,ie和火狐有区别,在火狐中我怎么获取其路径,ie可以等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)