利用 JS在客户端判断文件上传的真实格式(获取文件后缀的朋友就不要回答了) 急!

利用 JS在客户端判断文件上传的真实格式(获取文件后缀的朋友就不要回答了) 急!,第1张

你在谷歌浏览器打开控制台,输入documentgetElementById('file')files,这个方法也可以用来获取文件的大小,如果file有选择文件的话会显示filelist会有type出现,不过我试了一下,效果跟获取文件后缀名差不多,而且前端验证很容易欺骗,安全性考虑都会在后端重新验证。

javascript 获取文件域 (type=file) 的完整路径一直是很麻烦的问题,问题主要出在一些浏览器基于安全性考虑而不能正常获取到文件域中选中的决对路径,尤其一些基于webkit的浏览器比如 Chrome, Safire等浏览器,下面是一个可以兼容 IE 6 , 7, 8 和 firefox 的获取 input file 完整路径的方法,该方法不支持 Chrome 和 Safire,要支持这些浏览器可能要使用到 Flash ,对程序员来说比较麻烦。

HTML页面:

<input type="file" name="attachment" id="attachment" />

<input type="text" name="trueattachment" id="trueattachment" />js部分:

<script type="text/javascript">

var attachment=documentgetElementById("attachment");

var trueattachment=documentgetElementById("trueattachment");

attachmentonchange=function(){

trueattachmentvalue=getFullPath(this);

}

function getFullPath(obj){

if(obj)

{

//ie

if (windownavigatoruserAgentindexOf("MSIE")>=1)

{

objselect();

return documentselectioncreateRange()text;

}

//firefox

else if(windownavigatoruserAgentindexOf("Firefox")>=1)

{

if(objfiles)

{

return objfilesitem(0)getAsDataURL();

}

return objvalue;

}

return objvalue;

}

}

</script>

var filePath=documentgetElementById("上传控件id")value;

var fileType=filePathsubstr(filePathlastIndexOf("\"))toLowerCase();

fileType这个是获取上传文件类型,大小,可以直接获取这个对象,获取fileSize属性除去1024就是大小

<!DOCTYPE HTML>

<html>

<head>

<meta charset="UTF-8">

<title>Droid</title>

<style type="text/css">

ul li {

float: left;

list-style: none;

padding-right: 10px;

}

</style>

<script type="text/javascript" src="jquery-180minjs"></script>

<script type="text/javascript">

$ (function ()

    {

    var oUll = $ ("#ul"), FR, source = $ (':file');

    if (!!(FR = $ (window)prop ('FileReader')))

    {

    var fr = new FR ();

    $ ("#btn")click (function ()

    {

     var file = sourceprop ('files')[0];

    if (!file)

    {

    return false;

    }

    var aLi = $ ("<li></li>");

    var aImg = $ ("<img />");

    oUllappend (aLi);

    aLiappend (aImg);

    var imgs = $ ("img");

    fronloadend = function (e)

    {

    imgseq (imgslength - 1)attr ('src', etargetresult);

    sourceval ('');

    };

    frreadAsDataURL (file);

    });

    }

    });

</script>

</head>

<body>

<input type="file" name="file" />

<input id="btn" type="button" value="添加" />

<ul id="ul"></ul>

</body>

</html>

<form onsubmit="return fileCountCheck(this);">

<input type="file" name="mulUp[]" multiple="multiple" required="required" />

<input type="submit" />

</form>

<script type="text/javascript">

function fileCountCheck(objForm){

if (windowFile && windowFileList) {

var fileCount = objForm["mulUp[]"]fileslength;

if(fileCount > 10){

windowalert('文件数不能超过10个,你选择了' + fileCount + '个');

}

else {

windowalert('符合规定');

}

}

else {

windowalert('抱歉,你的浏览器不支持FileAPI,请升级浏览器!');

}

return false;

}

</script>

扩展资料:

java获取路径,文件名的方法总结

1、文件路径获取

ThreadcurrentThread()getContextClassLoader()getResource(“”) //获得资源文件(class文件)所在路径

ClassLoadergetSystemResource(“”)

ClassNameclassgetClassLoader()getResource(“”)

ClassNameclass getResource(“/”)

ClassNameclass getResource(“”) // 获得当前类所在路径

SystemgetProperty(“userdir”) // 获得项目根目录的绝对路径

SystemgetProperty(“javaclasspath”) //得到类路径和包路径

其中ClassName为类名。

2、文件名获取

String fName =” D:\java\workspace\netmanager01\resources\mibfiles\wtViewmib “;

(“\”,java中需要转义)

第一种:

File tempFile =new File( fName trim());

String fileName = tempFilegetName();   

第二种:

fName = fNametrim();

fileName = fNamesubstring(fNamelastIndexOf("/")+1);

或者

fileName = fNamesubstring(fNamelastIndexOf("\\")+1);

第三种:

fName = fNametrim();

String temp[] = fNamesplit("\\\\"); //split里面必须是正则表达式,"\\"的作用是对字符串转义,其中split("\\\\")的作用是:按照"\\"为分隔符,将路径截取,并存入数组,如下:temp[]=[,D:,java,workspace,netmanager01,resources,mibfiles,wtViewmib]

fileName = temp[templength-1];(取出最后一个)

<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K

<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>

<img src="about:blank" id="fileChecker" alt="test" height="18"/>

//前面为网页

<script type="text/javascript">

var oFileChecker = documentgetElementById("fileChecker");

function changeSrc(filePicker)

{

oFileCheckersrc = filePickervalue;//读

}

//这个很重要,判断是否完全读完,否则判断大小不准确

oFileCheckeronreadystatechange = function ()

{

if (oFileCheckerreadyState == "complete")

{

checkSize();

}

}

function checkSize()

{

var limit = documentgetElementById("fileSizeLimit")value 1024;

if (oFileCheckerfileSize > limit)

{

alert("too large");

}

else

{

alert("ok");

}

}

</script>

以上就是关于利用 JS在客户端判断文件上传的真实格式(获取文件后缀的朋友就不要回答了) 急!全部的内容,包括:利用 JS在客户端判断文件上传的真实格式(获取文件后缀的朋友就不要回答了) 急!、怎样 在js中获取input file、怎么用js限制上传的视频的大小和格式,坐等大神,求具体代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9584303.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存