3 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個贊
在目標(biāo)頁里通過獲取request.getInputStream()來得到一個輸入流。
然后讀取到一個byte[]數(shù)組里,再還原成String再分析一下;
參考如下:
function getName(){
var myFile = document.getElementById("myFile").value;
var length = myFile.length;
var x = myFile.lastIndexOf("\\");
x++;
var fileName = myFile.substring(x,length);
document.getElementById("fileName").value = fileName;
}

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個贊

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個贊
在firefox上,input(type=file)默認(rèn)獲取到的value值就是文件名。
在IE上,input(type=file)默認(rèn)獲取到的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("/"); //對路徑進(jìn)行截取
var test2 = path.lastIndexOf("\\"); //對路徑進(jìn)行截取
var test= Math.max(test1, test2)
if(test<0){
document.getElementById("test").value = path;
}else{
document.getElementById("test").value = path.substring(test + 1); //賦值文件名
}
}
</script>
添加回答
舉報