你在谷歌浏览器打开控制台,输入documentgetElementById('file')files,这个方法也可以用来获取文件的大小,如果file有选择文件的话会显示filelist会有type出现,不过我试了一下,效果跟获取文件后缀名差不多,而且前端验证很容易欺骗,安全性考虑都会在后端重新验证。
可能很多朋友认为undefined是在js中未定义变量时才会提示的错误,其实不然undefined 是js中的一特殊的变量,我们也可以提前定义哦,下面我来介绍js undefined 用法。
JavaScript 中有两个特殊数据类型:undefined和 null,下面谈谈 undefined 的判断。
js判断undefined类型代码如下复制代码if (reValue== undefined){
alert(undefined);}发现判断不出来,最后查了下资料要用typeof方法:代码如下复制代码
if (typeof(reValue) == undefined) {
alert(undefined);}typeof 返回的是字符串,有六种可能:number、string、boolean、object、function、undefined
以下是不正确的用法:代码如下复制代码var exp = undefined;
字符串截取
var file = $("#file")val();
var fileName = getFileName(file); function getFileName(o){ var pos=olastIndexOf("\\"); return osubstring(pos+1); } 方法二:正则表达式
var file = $("#file")val();
var strFileName=filereplace(/^+\\([^\\]+)(\[^\\\])$/gi,"$1"); //正则表达式获取文件名,不带后缀var FileExt=filereplace(/+\/,""); //正则表达式获取后缀
:jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档 *** 作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 60+、FF 15+、Safari 20+、Opera 90+等。
function readFileFirefox(fileBrowser) {
netscapesecurityPrivilegeManagerenablePrivilege("UniversalXPConnect");
var fileName=fileBrowservalue;
var file = Componentsclasses["@mozillaorg/file/local;1"]createInstance(ComponentsinterfacesnsILocalFile);
fileinitWithPath( fileNamereplace(/\//g, "\\\\") );
return filepath;
}
function getValue(){
var file_url = readFileFirefox(documentgetElementById("update_image"));
alert(file_url);
}
<input type="file" id="update_image" />
<input name="" type="button" value="test" onClick="getValue();">
这个可以在火狐下面获取file里面的完整路径,Chrome下面的话我暂时还没发现有人解决,一般都是后端去处理的。
在firefox上,input(type=file)默认获取到的value值就是文件名。
在IE上,input(type=file)默认获取到的value值是路径。
因此用js来获取fileupload中的上传文件的文件名需要多方面考虑。
你可以试下一下
function getFileName(path){
var pos1 = pathlastIndexOf('/');
var pos2 = pathlastIndexOf('\\');
var pos = Mathmax(pos1, pos2)
return path;elsereturn pathsubstring(pos+1);}测试过了,没有问题,可用。
file是一种特殊的input,不能被赋值,也不能被javascript取值,只能随表单提交,而且随表单提交的也是file路径所指向的文件本身。
这是浏览器安全原因所限制的,如果可以取值和赋值的话,那么javascript就可以随意获取你电脑上的文件了,这是非常危险的
以上就是关于利用 JS在客户端判断文件上传的真实格式(获取文件后缀的朋友就不要回答了) 急!全部的内容,包括:利用 JS在客户端判断文件上传的真实格式(获取文件后缀的朋友就不要回答了) 急!、js获取Image对象的fileSize为什么是undefined、Js/Jquery获取input file的文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)