『壹』 javascript獲取上傳的文件名,去掉文件的後綴名
你設置一個變數,去接收一下,接收的這個要經過截去子串的處理,取到你想要的那部分比如說:
var s1=new Array();
var str=data; //data 就是傳過來的文件名
s1=str.split(str.lastIndexOf(「.」)),你想要的就在 s1[0]中,而 . 是文件名與後綴名的分界線,根據它去截去
『貳』 怎麼用js來獲取 fileupload中的上傳文件的文件名
在firefox上,input(type=file)默認獲取到的value值就是文件名。回
在IE上,input(type=file)默認獲取到的value值是答路徑。
因此用js來獲取fileupload中的上傳文件的文件名需要多方面考慮。
你可以試下一下
function getFileName(path){
var pos1 = path.lastIndexOf('/');
var pos2 = path.lastIndexOf('\\');
var pos = Math.max(pos1, pos2)
if( pos<0 )
return path;
else
return path.substring(pos+1);
}
『叄』 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獲取上傳文件的完整路徑
file是一種特殊的input,不能被賦值,也不能被javascript取值,只能隨表單提交內,而且隨表單提交的也是file路徑所指容向的文件本身。
這是瀏覽器安全原因所限制的,如果可以取值和賦值的話,那麼javascript就可以隨意獲取你電腦上的文件了,這是非常危險的
『伍』 java web項目java後台獲取前台js上傳文件的路徑
如果通過servelet來讀取上傳文件路徑,則代碼如下,我已經在項目中用過了:
DiskFileItemFactorydifif=newDiskFileItemFactory();
difif.setSizeThreshold(32*1024);difif.setRepository(newFile(tmpDir));//
用以上工廠實例化上傳組件ServletFileUploadsfu=newServletFileUpload(difif);
sfu.setSizeMax(MAX_SIZE);
ListfileList=sfu.parseRequest(request);
if(fileList==null||fileList.size()==0){thrownewException("
導入文件不存在,請檢
查");}else{FileupLoadFile=null;IteratorfileIterator=fileList.iterator();
//得到所有上傳的文
件while(fileIterator.hasNext()){FileItemfileItem=(FileItem)fileIterator.next();//
取得上傳文件
名if(fileItem.getContentType()==null){}else{
//
此為路
徑Stringpath=fileItem.getName();Stringt_ext=path.substring(path.lastIndexOf(".")+1);//
根據系統時間生成上傳後保存的文件
名Stringprefix=String.valueOf(System.currentTimeMillis());//
保存最終的文件完整路徑,保存在工程根目錄下的Upload目錄
下Stringu_name=tmpDir+File.separator+prefix+"."+t_ext;//
開始保存文
件upLoadFile=newFile(u_name);fileItem.write(upLoadFile);}}}
『陸』 怎麼用js來獲取 file中的上傳文件的文件名
在firefox上,input(復type=file)默認制獲取到的value值就是文件名。
在IE上,input(type=file)默認獲取到的value值是路徑。
因此用js來獲取fileupload中的上傳文件的文件名需要多方面考慮。
你可以試下一下
function getFileName(path){
var pos1 = path.lastIndexOf('/');
var pos2 = path.lastIndexOf('\\');
var pos = Math.max(pos1, pos2)
if( pos<0 )
return path;
else
return path.substring(pos+1);
}
測試過了,沒有問題,可用。
『柒』 java或js(可用jquery)如何獲取上傳文件原始路徑名
上傳文件時,我想獲取客戶端上傳文件的原始路徑。第一考慮,當然是使用js,例如網上可以找到的:
function getPath(obj) { if (obj) { if (window.navigator.userAgent.indexOf("MSIE") >= 1) { obj.select(); return document.selection.createRange().text; } else if (window.navigator.userAgent.indexOf("Firefox") >= 1) { if (obj.files) { return obj.files.item(0).getAsDataURL(); } return obj.value; } return obj.value; } } 但這樣的代碼在Ie下還是可行的,但在火狐下不兼容。所以又想通過servlet的第三方工具去做,例如FileUpload,本以為FileItem下的getName()方法能夠得到全路徑名,但結果仍然只得到文件名,很是杯具!求解決方法!?
引用至於你說的,不明白你的意思關鍵問題是我要獲得這個路徑,並且傳遞到後台!用js會有兼容性問題,如果用FileUpload上傳,是否可以獲得呢?我是沒有得到的!!! 問題補充:zhanjia 寫道上傳文件一般用input標簽,type為file,瀏覽選擇文件後就是文件在本地的絕對路徑了
引用至於你說的,不明白你的意思關鍵的問題是我要獲得這個本地路徑,並且傳到後台!用js可以得到,但存在兼容性問題!?如果用FileUpload呢?我暫時還沒有得到!!! 問題補充:zhanjia 寫道網上的一些解決方案:
一般都是上傳以後在資料庫中保存上傳後的文件路徑,本地路徑一般沒意義
除非像上面所說的文件上傳預覽,還有那麼點用處
我用來做數據介面的,我僅僅是把路徑傳給另一個系統,然後那個系統就可以從這個路徑取文件了。