當前位置:首頁 » 文件管理 » 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

熱點內容
王者榮耀電腦如何改戰區安卓 發布:2025-01-17 13:23:18 瀏覽:814
華為手機如何開啟說出密碼 發布:2025-01-17 13:23:12 瀏覽:101
伺服器在美國說明什麼 發布:2025-01-17 13:14:10 瀏覽:11
啟辰t90有哪些配置 發布:2025-01-17 13:05:40 瀏覽:38
手機微博密碼怎麼改密碼忘了怎麼辦 發布:2025-01-17 13:04:44 瀏覽:959
微笑雲伺服器 發布:2025-01-17 13:03:25 瀏覽:83
android頂部標題欄 發布:2025-01-17 13:02:28 瀏覽:692
androidjs傳遞參數 發布:2025-01-17 12:51:54 瀏覽:477
建築大師輔助腳本 發布:2025-01-17 12:47:33 瀏覽:331
sql向上 發布:2025-01-17 12:43:57 瀏覽:275