文件名的傳遞 ---全路徑獲取
$('#file').change(function(){
$('#em').text($('#file').val());
});
文件名的傳遞 ---只獲取文件名
var file = $('#file'), aim = $('#em'); file.on('change', function( e ){ //e.currentTarget.files 是一個數組,如果支持多個文件,則需要遍歷 var name = e.currentTarget.files[0].name; aim.text( name ); });
獲取input type="file" 選擇的文件大小、文件名稱、上次修改時間、類型等信息(*多個文件會存儲在files數組中)
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="file" name="f" id="f" />
<input type="button" name="aa" id="aa" value="測試" onclick="javascript: _s();" />
</div>
</form>
</body>
</html>
<script type="text/javascript">
function _s() {
var f = document.getElementById("f").files;
//上次修改時間
alert(f[0].lastModifiedDate);
//名稱
alert(f[0].name);
//大小 字節
alert(f[0].size);
//類型
alert(f[0].type);
}
</script>
判斷文件類型
var type=(src.substr(src.lastIndexOf("."))).toLowerCase();
if(type!=".jpg"&&type!=".gif"&&type!=".jpeg"&& type!=".png"){
alert("您上傳圖片的類型不符合(.jpg|.jpeg|.gif|.png)!");
return false;
}
利用image屬性來獲取input file里文件的大小:
<script type="text/javascript"> function getFilePath(filePath) { var image=new Image(); image.dynsrc=filePath; alert(image.filePath); } </</SPAN>script> <body> <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this)"> </</SPAN>body> <script type="text/javascript"> function getFileSize(fileObj) { var image=new Image(); image.dynsrc=fileObj.value; alert(image.fileSize || fileObj.files[0].fileSize); } <script> <body> <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)"> <body>
* ps:下面主要談談另一種方式,在html標簽中有一個不為一般開發人員“深”知得img標簽,先來說下它有得屬性:src,dynsrc,start,alt,controls,loop,loopdelay,hspace,vspace....還有一些常用得屬性就不列出來了,在這里我們說一下"dynsrc"這個屬性:dynsrc可以用來插入各種多媒體,格式可以是Wav、Avi、AIFF、AU、MP3、Ra、Ram等等。url為音頻或視頻文件及其路徑,可以是相對路徑或絕對路徑.
這樣我們就可以根據dynsrc動態賦值任何類型文件得路徑,在javascript中根據Image對象本身得fileSize屬性來得到文件得大小。當然Image對象還有其它得幾個屬性,例如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters...
