导航:首页 > 编程语言 > js获取file控件路径

js获取file控件路径

发布时间:2024-11-09 14:40:50

『壹』 js动态创建的file控件,PHP 怎么获取上传的文件

首先,你的file控件要放到form表单内,其次,每个file控件的name属性应该不同。下面是我修改后的:

<html>

</head>

<script language="javascript" type="text/ecmascript">

var x=1;

//======================

//功能:在表单中input file控件

//参数:parentID---要插入input file控件的父元素ID

// inputID----input file控件的ID

//======================

function createInput(parentID,inputFileID){

var parent=$(parentID);//获取父元素

var div=document.createElement("div");//创建一个div容器用于包含input file

x++;

var divName=inputFileID+x;//随机div容器的名称

div.id=divName;


var aElement=document.createElement("input"); //创建input

aElement.name=divName;

aElement.type="file";//设置类型为file


var delBtn=document.createElement("input");//再创建一个用于删除input file的Button

delBtn.type="button";

delBtn.value="删除";

delBtn.onclick=function(){ removeInput(parentID,divName)};//为button设置onclick方法


div.appendChild(aElement);//将input file加入div容器

div.appendChild(delBtn);//将删除按钮加入div容器

parent.appendChild(div);//将div容器加入父元素

}

//============================

//功能:删除一个包含input file的div 容器

//参数:parentID---input file控件的父元素ID

// DelDivID----个包含input file的div 容器ID

//============================

function removeInput(parentID,DelDivID){

var parent=$(parentID);

parent.removeChild($(DelDivID));

}

//通过元素ID获取文档中的元素

function $(v){return document.getElementById(v);}

</script>

<body>

<form action="test.php" method="post" enctype="multipart/form-data">

<div align="left" id="div_Pic" style="border:1px solid #CCCCCC">

<input name="PicFile" type="file" id="ShowPicFile">

</div>

<input type="button" onClick="createInput('div_Pic','PicFile')" name="button" id="button" value="+ 继续添加图片">

<input type="submit" value="提交">

</body>

</html>

然后php就可以通过遍历$_FILES来获得每个上传的文件。下面的简单例子只是列出每个文件的原文件名:

<?php

forEach($_FILES as $f){

echo $f["name"]."<br>";

}

?>

『贰』 怎么获取JSP表单中file的值

JSP上传文件使用的开源抄组件UPload,获得file文件路径,可以使用如下方法:
String myFilepath=myFile.getFilePath();
获得该文件的路径,使用上述方法有一个前提就是必须确保已经上传成功。

『叁』 jquery 获取fileupload的完整路径。给完整的代码。直接可以用的

1首先是jsp
<button class="btn button uploadAndNext" id="importWhiteBtn" type="button">
<span class="button">提交导入</span>
</button>

2.然后是
$(function(){
var uploadCom = null;
function uploadIt() {

$("#importWhiteBtn").click(function() {
var uploadId = "#" + $(this).attr("id");
var btn = $(this);

uploadCom = new AjaxUpload( uploadId + "" , {
action : "whitePhoneNumber.do?action=importFile",

onSubmit: function(file, ext) {

if ((ext && /^(txt)$/.test(ext))) {
alert("请先下载导入模板readme.txt参考,您上传的文档格式不对,请重新选择!");
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,
HttpServletRequest request, HttpServletResponse response) throws Exception{
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
String success = "success";
BufferedReader br=null;
InputStream in=null;
String operator = UserNameUtil.getUserName(request);
String areaCode = whitePhoneManager.getAreaCodeByOperator(operator);
try {
List<FileItem> list = upload.parseRequest(request);
for (int i = 0; i < list.size(); i++) {
FileItem fileItem = list.get(i);
String name = fileItem.getName().substring(
fileItem.getName().lastIndexOf("\\") + 1);

if(fileItem.getSize() > 2097152){//200k
throw new Exception(" 文件大小超过2M");
}
log.debug("upload file name:" + name);
in= fileItem.getInputStream();
br = new BufferedReader(new InputStreamReader(in));
whitePhoneManager.processFile(br,areaCode);
logutil.log_Operation(request, LogUtil.LOG_MODULE_SYSTEMCONFIG,
LogUtil.LOG_EVENT_CREATE, "批量导入短信白名单", "filename: "
+ name, "成功",
LogUtil.SUCCESS);
}
} catch (FileUploadException e) {
log.debug("error", e);
success=e.getMessage() ;
} catch (Exception e) {
log.debug("error", e);
success=e.getMessage() ;
}finally{
if(br!=null) try{br.close();}catch(Exception e){log.error("unable to close bufferdreader",e);}
if(in!=null) try{in.close();}catch(Exception e){log.error("unable to close inputstream",e);}
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
response.getWriter().write( success );
return null;
}
}

『肆』 js获取文件路径怎么写

<script>
$("input[name=fileString]").change(function(){
//varnames=[];

for(vari=0;i<$(this).get(0).files.length;++i){
//names.push($(this).get(0).files[i].name);
//console.log($(this).get(0).files[i].mozFullPath);
//方式一:
varfilePath=$(this).val();
console.log(filePath);
//方式二:
alert($('input[type=file]').val());
}
//console.log(names);
//方式三:
alert($("input[name=fileString]").val());

})

</script>

注意:以上方式取到的都是文件的伪路径,由于浏览器的安全策略,Chrome浏览器及内核的浏览器是不可能获取文件在本地的真实路径的。IE浏览器可以通过设置安全级别,能获取到真实路径。

『伍』 如何保证JS文件控件获取完整路径

问题:Internet Explorer中,JS无法通过文件(file)控件获取到本地目录完整路径,返回如“C:\fakepath\...”错误。 解决:修改IE设置,工具 -> Internet选项 -> 安全 -> 自定义级别 -> 将文件上载到服务器时包含本地目录路径,改为启用即可。

『陆』 js文件选择框,我选好文件后,取不到正确路径, alert(document.getElementById('filepath').value);

文件路径:<input type="file" id="filepath"/>
<button onclick="alert(document.getElementById('filepath').value);">查看路径</button>

每次重选文件后,点击按钮查看。应该是没有问题啊
你是怎么操作的?

『柒』 在js文件中怎么获取自身的路径

file是一种特殊的input,不能被赋值,也不能被javascript取值,只能随表单提交,而且随表单提交的也是file路径所指向的文件本身。
这是浏览器安全原因所限制的,如果可以取值和赋值的话,那么javascript就可以随意获取你电脑上的文件了,这是非常危险的。

经过结合了HTML5提供的新技术FileHeader,成功地在file标签未作出提交前,分别获得了文件的:fileName、fileSize、file Last Mod、、、
唯一的缺点就是:未能在IE下通过。
不过,这不是什么缺点,因为我是在手机端的web开发,这里是andriod和IOS的天下。

『捌』 jsp中 input file选择文件 怎么得到文件的路径啊 浏览器是ie8

<script type="text/javascript">
//FX获取文件路径方法
function readFileFirefox(fileBrowser) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e) {
alert('无法访问本地文件,由于浏览器安全设置。为了克服这一点,请按照下列步骤操作:(1)在地址栏输入"about:config";(2) 右键点击并选择 New->Boolean; (3) 输入"signed.applets.codebase_principal_support" (不含引号)作为一个新的首选项的名称;(4) 点击OK并试着重新加载文件');
return;
}
var fileName=fileBrowser.value; //这一步就能得到客户端完整路径。下面的是否判断的太复杂,还有下面得到ie的也很复杂。
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
try {
// Back slashes for windows
file.initWithPath( fileName.replace(/\//g, "\\\\") );
}
catch(e) {
if (e.result!=Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e;
alert("File '" + fileName + "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file.");
return;
}
if ( file.exists() == false ) {
alert("File '" + fileName + "' not found.");
return;
}
return file.path;
}
//根据不同浏览器获取路径
function getvl(){
//判断浏览器
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
var file_url="";
if(Sys.ie<="6.0"){
//ie5.5,ie6.0
file_url = document.getElementById("file").value;
}else if(Sys.ie>="7.0"){
//ie7,ie8
var file = document.getElementById("file");
file.select();
file_url = document.selection.createRange().text;
}else if(Sys.firefox){
//fx
//file_url = document.getElementById("file").files[0].getAsDataURL();//获取的路径为FF识别的加密字符串
file_url = readFileFirefox(document.getElementById("file"));
}
//alert(file_url);
document.getElementById("text").innerHTML="获取文件域完整路径为:"+file_url;
}
</script>
<h1>JS获取文件域完整路径的方法,兼容不同浏览器</h1>
<div id="text" style="color:#f00;"></div>
<input type="file" id="file" />
<input name="" type="button" value="获取" onClick="getvl();">

阅读全文

与js获取file控件路径相关的资料

热点内容
js组合快捷键 浏览:174
linux系统盘默认挂在的文件夹 浏览:667
淘宝数据包如何操作上架 浏览:567
vb编程中输入cls是什么意思 浏览:81
linuxtime服务 浏览:184
疯狂安卓讲义第二版代码 浏览:420
老炮儿三小时版本下载 浏览:313
matlab怎么调试程序 浏览:2
winxp升级win7的危害 浏览:496
网络没连上却不可用是怎么回事 浏览:752
社区版本 浏览:738
怎么查微信公众号什么时候开通的 浏览:717
安装三菱编程闪退怎么回事 浏览:488
手机怎么创建word文件格式 浏览:694
c语言连接数据库 浏览:887
数据线粉色和白色哪个是正 浏览:775
vb编程应注意什么 浏览:855
js循环添加控件 浏览:615
学习计算机网络的作用 浏览:235
access数据库最新内容怎么调 浏览:203

友情链接