當前位置:首頁 » 文件管理 » js判斷文件上傳類型

js判斷文件上傳類型

發布時間: 2022-08-28 19:33:34

1. js 判斷上傳文件的大小和類型

這個確實很麻煩,而且,有點費事,
不管你js怎麼檢測,最終還是要使用伺服器端語言去檢測
相對安全而已,用戶是可以在客戶端禁用js的,甚至修改js腳本
在客戶端先檢測一下,只是為了方便而已。。。

2. 利用 JS在客戶端判斷文件上傳的真實格式(獲取文件後綴的朋友就不要回答了) 急!

你在谷歌瀏覽器打開控制台,輸入document.getElementById('file').files,這個方法也可以用來獲取文件的大小,如果file有選擇文件的話會顯示filelist會有type出現,不過我試了一下,效果跟獲取文件後綴名差不多,而且前端驗證很容易欺騙,安全性考慮都會在後端重新驗證。

3. 怎樣用JS控制文件上傳時FILE控制項內默認的文件類型

有兩種方式,
1、用fileupload控制項在後台判斷
FileUpload1.FileContent.Length判斷大小,
System.IO.Path.GetExtension(FileUpload1.FileName)獲取文件後綴
2、用jquery上傳控制項,可以直接判斷類型和大小
另外js也可以在前台判斷文件類型,但不能獲取文件大小,需要引用插件

4. jquery.load.js怎麼判上傳文件類型

下面是我用jquery寫的選中後立馬判斷選中的文件的類型,不是的話提示,然後清除,對應的可以自己改成純js形式:
//文件上傳文件選擇後事件
$(document).ready(function() {
$("input[id^='fileToUpload']").each(
//這里是用了each因為是多文件上傳,input的id都是fileToUpload 開頭
function() {
$("#" + $(this).attr("id") + "").live('change',function() {
var fileName = $(this).val();
if (fileName != null&& fileName != "") {
//lastIndexOf如果沒有搜索到則返回為-1
if (fileName.lastIndexOf(".") != -1) {
var fileType = (fileName.substring(fileName.lastIndexOf(".") + 1,
fileName.length)).toLowerCase();
var suppotFile = new Array();
suppotFile[0] = "jpg";
suppotFile[1] = "gif";
suppotFile[2] = "bmp";
suppotFile[3] = "png";
suppotFile[4] = "jpeg";
for ( var i = 0; i < suppotFile.length; i++) {
if (suppotFile[i] == fileType) {
if (fileName.length > 100) {
alert("文件名長度不能超過100字元");
if (!window.addEventListener) {
document.getElementById(fileName[j]).outerHTML+=''; //IE清除inputfile
}else {
document.getElementById(fileName[j]).value = ""; //FF清除inputfile
}
return false;
}
return true;
} else {
continue;
}
}
alert("文件類型不合法,只支持 jpg、gif、png、jpeg類型!");
if (!window.addEventListener) {
document.getElementById(fileName[j]).outerHTML+=''; //IE
}else {
document.getElementById(fileName[j]).value = ""; //FF
}
return false;
} else {
alert("文件類型不合法,只支持 jpg、gif、png、jpeg類型!");
if (!window.addEventListener) {
document.getElementById(fileName[j]).outerHTML+=''; //IE
}else {
document.getElementById(fileName[j]).value = ""; //FF
}
return false;
}
}
});
});
});

5. js怎麼判斷和控製表單上傳文件的大小和類型

ajax 是無法實現上傳文件的,可以想一下ajax與後台通信都是通過傳遞字元串,怎麼能傳遞文件呢?其實出於安全考慮js是不能操作文件的

6. JS php 如何判斷上傳的文件類型

通過分離出文件名,將.後面的類型名稱提取出來

7. js怎麼驗證上傳的文件是excel

一般在js獲取文件上傳路徑,然後得到文件後綴,然後根據後綴進行判斷。

8. js怎麼驗證上傳的文件是excel-CSDN論壇

對頭,前端不能從文件內容驗證,只能從後綴來判斷,從文件判斷只能在伺服器去判斷了。

9. js文件上傳驗證文件類型第一個為文本,第二個為MP3格式,第三個為jpg 如何動態驗證求解

下面是一個完整的HTML文檔,你可以復制後進行直接測試。


代碼中有必要的注釋:

<!doctypehtml>
<html>
<head>
<metacharset="utf-8">
<title>文件類定義</title>
</head>

<body>
<formmethod=postname=upformaction=""enctype="multipart/form-data">
<divid="file"style="margin-top:60px;width:auto;hegiht:auto;"></div>
<ahref="javascript:void(0)"onclick="addUpload()">添加附件</a>
<spanclass="required">語音文件</span>
<inputname="btn_up"class="cmd"type="button"id="btn_up"value="上傳"style="cursor:hand"onclick="ajaxFileUpload(this.form,this.form.txt1.value)">
</form>
<scripttype="text/javascript">
varcount=0;
varmaxfile=3;
//增加元素
functionaddUpload(){
if(count>=maxfile)return;//限制最多maxfile個文件框
count++;
//自增id不同的HTML對象,並附加到容器最後
varnewDiv="<divid=divUpload"+count+">"
+"請選擇上傳的音頻,圖片,或文字,第"+count+"幀"
+"<br/>"
//下面的每一個input中,都加入了onchange事件,用以在選擇完新文件後對其進行判斷
//同時第二參數用以限定本輸入框中的文件類型
+"文本:<inputname=txt"+count+"type=filemaxlength=30style=width:60%onchange='confirmType(this,"txt")'/><br/>"
+"圖片:<inputname=img"+count+"type=filemaxlength=30style=width:60%onchange='confirmType(this,"img")'/><br/>"
+"MP3:<inputname=voice"+count+"type=filemaxlength=30style=width:60%onchange='confirmType(this,"voice")'/><br/>"
+"<inputtype=buttonvalue=刪除onclick=delUpload('divUpload"+count+"')/>"
+"</div>";
document.getElementById("file").insertAdjacentHTML("beforeEnd",newDiv);
}

functionconfirmType(th,ty){
varv=th.value;
if(ty=='txt'&&/.txt$/i.test(v)){//如果是文本框
th.style.color='#090';//正確為綠色顯示
}elseif(ty=='img'&&/.jpg$/i.test(v)){//如果是圖片框
th.style.color='#090';//正確為綠色顯示
}elseif(ty=='voice'&&/.mp3$/i.test(v)){//如果是MP3框
th.style.color='#090';//正確為綠色顯示
}else{
th.style.color='#F00';//錯誤為紅色顯示
alert('您所選擇的文件類型不正確');
}
}
</script>
</body>
</html>

10. js 判斷文件格式

實現如下:
用js對上傳的文件大小以及格式進行初步的判斷,在服務端再進行一次判斷
//判斷照片大小
function getPhotoSize(obj){
photoExt=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();//獲得文件後綴名
if(photoExt!='.jpg'){
alert("請上傳後綴名為jpg的照片!");
return false;
}
var fileSize = 0;
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
if (isIE && !obj.files) {
var filePath = obj.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile (filePath);
fileSize = file.Size;
}else {
fileSize = obj.files[0].size;
}
fileSize=Math.round(fileSize/1024*100)/100; //單位為KB
if(fileSize>=10){
alert("照片最大尺寸為10KB,請重新上傳!");
return false;
}
}

jsp頁面:

<input type="file" id="imgFile" name="upload" style="width:150px;" onchange="getPhotoSize(this)"/>

熱點內容
手工解壓的可愛麵包怎麼做 發布:2024-10-13 06:01:13 瀏覽:917
怎樣錄屏上傳到快手 發布:2024-10-13 05:23:23 瀏覽:790
黑白存儲器 發布:2024-10-13 05:22:49 瀏覽:731
sdcc編譯器下載 發布:2024-10-13 05:22:48 瀏覽:439
怎麼讓微軟平板變安卓 發布:2024-10-13 05:13:22 瀏覽:438
安卓版瀏覽器的收藏在哪裡 發布:2024-10-13 03:45:13 瀏覽:651
資料庫分量 發布:2024-10-13 03:36:52 瀏覽:189
安卓系統變為什麼系統 發布:2024-10-13 03:24:52 瀏覽:849
華為4x重置密碼是多少 發布:2024-10-13 03:08:31 瀏覽:281
榮放安卓屏的藍牙如何關閉 發布:2024-10-13 02:50:49 瀏覽:60