你好!
fileupload理论上不设置浏览器是不可能取到本地路径的。
你可以想想,如果用fileupload可以轻易获取到本地路径,那别人随便写个程序,不就可以把你本地的各种文件遍历传到服务器了,那不就可以随便**文件了。
所以一般是换一种做法,用一个textbox存储路径,用一个button完成上传功能。至于上传的代码方法多了。一种是用stream类,一种是用webclient上传,方法很多的。
在firefox上,input(type=file)默认获取到的value值就是文件名。
在IE上,input(type=file)默认获取到的value值是路径。
因此用js来获取fileupload中的上传文件的文件名需要多方面考虑。
示例代码:
<form action="" method="get" onSubmit="return false;">
<input type="text" name="test" id="test">
<input type="file" name="testFile" onChange="if(thisvalue)insertTitle(thisvalue);">
<input type="submit" value="提交">
</form>
<script language="javascript">
function insertTitle(path){
var test1 = pathlastIndexOf("/"); //对路径进行截取
var test2 = pathlastIndexOf("\\"); //对路径进行截取
var test= Mathmax(test1, test2)
if(test<0){
documentgetElementById("test")value = path;
}else{
documentgetElementById("test")value = pathsubstring(test + 1); //赋值文件名
}
}
</script>
1首先是jsp
<button class="btn button uploadAndNext" id="importWhiteBtn" type="button">
<span class="button">提交导入</span>
</button>
2然后是js
$(function(){
var uploadCom = null;
function uploadIt() {
$("#importWhiteBtn")click(function() {
var uploadId = "#" + $(this)attr("id");
var btn = $(this);
uploadCom = new AjaxUpload( uploadId + "" , {
action : "whitePhoneNumberdoaction=importFile",
onSubmit: function(file, ext) {
if ((ext && /^(txt)$/test(ext))) {
alert("请先下载导入模板readmetxt参考,您上传的文档格式不对,请重新选择!");
return false;
}
$blockUI({
message:"正在上传到服务器"
})
},
onComplete: function(file, response) {
$unblockUI();
if(response=="success"){
alert( "导入成功");
$('#whitePhoneList')flexReload();
}else{
alert( "导入失败,"+response);
}
}
});
});
$("uploadAndNext")click();
}
uploadIt();
firstClick = false;
})
3最后是action
public ActionForward importFile(ActionMapping mapping, ActionForm form,
>
documentgetElementById("<%=
fuFileClientID
%>")value
用这种方法在js里可以获取到文件的完全路径
你试试吧
我马上要断网了
FileUpload的时候, Postback的时候文件已经传到后台了, 用FileUploadFileBytes就能取得文件内容了。
和浏览器相关。如果要突破这个限制,需要编写和部署activex控件
以上就是关于为什么js获取到的FileUpload的绝对路径是C:\fakepath\全部的内容,包括:为什么js获取到的FileUpload的绝对路径是C:\fakepath\、怎么用js来获取 fileupload中的上传文件的文件名、jquery 获取fileupload的完整路径。给完整的代码。直接可以用的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)