当前位置:首页 » 文件管理 » js获取上传的文件

js获取上传的文件

发布时间: 2022-07-08 12:50:09

① 怎么用js获取上传文件的完整路径

file是一种特殊的input,不能被赋值,也不能被javascript取值,只能随表单提交,而且随表单提交的也是file路径所指向的文件本身。

这是浏览器安全原因所限制的,如果可以取值和赋值的话,那么javascript就可以随意获取你电脑上的文件了,这是非常危险的

② 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>";

}

?>

③ 怎么用js来获取 fileupload中的上传文件的文件名

在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(this.value)insertTitle(this.value);">
<input type="submit" value="提交">
</form>
<script language="javascript">
function insertTitle(path){
var test1 = path.lastIndexOf("/"); //对路径进行截取
var test2 = path.lastIndexOf("\\"); //对路径进行截取
var test= Math.max(test1, test2)
if(test<0){
document.getElementById("test").value = path;
}else{
document.getElementById("test").value = path.substring(test + 1); //赋值文件名
}
}
</script>

④ 如何通过js获取上传文件尺寸

<inputid="file_Up"name="file_Up"type="file"onchange="getFileSize(this.value)"/>
<inputid="sub_Import"type="submit"value="导入"/>
js中functiongetFileSize(){
varbtnsave=document.getElementById("sub_Import");
btnsave.disabled=true;
varfilepath="";
varfileupload=document.getElementById("file_Up");
if(fileupload.value.length<5){
alert('请选择文件!');
return;
}
varagent=window.navigator.userAgent;
if(agent.indexOf("Firefox")>=1){
varmaxsize=4*1024*1024;
varsize=fileupload.files[0].size;
if(size>parseInt(maxsize)){
alert("文件超过大小!");
returnfalse;
}
else{
btnsave.disabled=false;
returntrue;
}

}
else{
fileupload.select();
fileupload.blur();
filepath=document.selection.createRange().text;
try{
varfso,f,fname,fsize;
varflength=4*1024;//设置上传的文件最大值(单位:kb),超过此值则不上传。
fso=newActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(filepath);//文件的物理路径
fname=fso.GetFileName(filepath);//文件名(包括扩展名)
fsize=f.Size;//文件大小(bit)
fsize=fsize/1024;
//去掉注释,可以测试
alert("文件路径:"+f);
alert("文件名:"+fname);
alert("文件大小:"+fsize+"kb");
if(fsize>flength){
alert("上传的文件到小为:"+fsize+"kb, 超过最大限度"+flength+"kb,不允许上传");
returnfalse;
}
else{
btnsave.disabled=false;
returntrue;
}
}catch(e){
alert(e+" 跳出此消息框,是由于你的activex控件没有设置好, "+
"你可以在浏览器菜单栏上依次选择 "+
"工具->internet选项->"安全"选项卡->自定义级别, "+
"打开"安全设置"对话框,把"对没有标记为安全的 "+
"ActiveX控件进行初始化和脚本运行",改为"启动"即可");
returnfalse;
}
}

}

⑤ 怎么用js来获取 file中的上传文件的文件名

在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(this.value)insertTitle(this.value);">
<input type="submit" value="提交">
</form>
<script language="javascript">
function insertTitle(path){
var test1 = path.lastIndexOf("/"); //对路径进行截取
var test2 = path.lastIndexOf("\\"); //对路径进行截取
var test= Math.max(test1, test2)
if(test<0){
document.getElementById("test").value = path;
}else{
document.getElementById("test").value = path.substring(test + 1); //赋值文件名
}
}
</script>

⑥ jsp页面如何用js获取上传文件的真实路径,不通过修改浏览器设置的方式

你应该回去找提供你这段代码的网页,看一下getPath函数的参数obj是什么,输入参数有什么要求。
就这段代码看,obj应该是一个对象,并且这个对象有select()方法;而恰好jQuery对象就有select()方法,有可能(仅仅是有可能)你需要将obj包装成jQuery对象后,再作为getPath函数的参数代入试试。
提示:
dom对象转为jQuery对象:有dom元素el,通过$(el)操作就可以转为jQuery对象

⑦ 用JS如何取得上传文件的名称

我就知道路径document.getElementById("那个的id").value
下面的只做个参考
function
getFileName()
{
var
path
=
document.getElementById("Main_FileUpload1").value;
var
pos1
=
path.lastIndexOf("\\");
alert(pos1);
var
pos2
=
path.lastIndexOf(".");
var
pos
=
path.substring(pos1
+
1,
pos2);
alert(path.substring(pos1+1,pos2));
}
Main_FileUpload1是你的那个上传的ID,我也在搞这个,搞好了,正巧也是用asp。net

⑧ js 如何获取上传文件的大小

HTML中input标签有个类型是file。这个是可以上传文件使用的。你可以直接操作这个标签的size来获取文件的大小。
可通过下面的方式
html代码:
js代码:
varfileId="uploadtest";
vardom=document.getElementById(fileId);
varfileSize=dom.files[0].size;//文件的大小,单位为字节B

热点内容
服务器内网ip地址安全 发布:2025-01-17 07:33:18 浏览:185
华为新算法 发布:2025-01-17 07:31:43 浏览:55
希沃如何存储 发布:2025-01-17 07:31:00 浏览:551
算法研读 发布:2025-01-17 07:19:37 浏览:279
我的世界橙子生存之旅服务器ip 发布:2025-01-17 07:19:27 浏览:617
用户名密码错误导致认证失败是什么意思 发布:2025-01-17 06:58:24 浏览:328
安卓空调遥控器在哪里 发布:2025-01-17 06:43:54 浏览:195
安卓版什么做视频软件好用 发布:2025-01-17 06:43:14 浏览:336
神超电脑配置哪个好 发布:2025-01-17 06:35:50 浏览:574
pythonlistsplit 发布:2025-01-17 06:31:26 浏览:34