`
汉唐铁骑破虏用刀
  • 浏览: 32831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js验证上传文件类型,js操作本地文件

阅读更多
js的一些基本应用,时间久了容易忘记。先记这吧
 
 function lastname(){
		 //获取欲上传的文件路径
		var filepath = document.getElementById("img").value; 
		//为了避免转义反斜杠出问题,这里将对其进行转换
		var re = /(\\+)/g; 
		var filename=filepath.replace(re,"#");
		//对路径字符串进行剪切截取
		var one=filename.split("#");
		//获取数组中最后一个,即文件名
		var two=one[one.length-1];
		//再对文件名进行截取,以取得后缀名
		var three=two.split(".");
		 //获取截取的最后一个字符串,即为后缀名
		var last=three[three.length-1];
		//添加需要判断的后缀名类型
		var tp ="jpg,gif,bmp,JPG,GIF,BMP,png";
		//返回符合条件的后缀名在字符串中的位置
		var rs=tp.indexOf(last);
		//如果返回的结果大于或等于0,说明包含允许上传的文件类型
		if(rs!=-1){
		 return true;
		 }else{ 
		 alert("您选择的上传文件不是有效的图片文件!"); 
		 //$('#subbutton').attr("disabled", "disabled");
		 return false;
	  }
  }


js操作本地文件,这个需要更改浏览器的安全设置才能有效果的,前面的代码是对字符串进行的base64编码
function base64encode(str) {
    var out, i, len;
    var c1, c2, c3;
    len = str.length; 
    i = 0;
    out = "";
    while(i < len) {
	 c1 = str.charCodeAt(i++) & 0xff;
	 if(i == len)
	 {
	     out += base64EncodeChars.charAt(c1 >> 2);
	     out += base64EncodeChars.charAt((c1 & 0x3) << 4);
	     out += "==";
	     break;
	 }
	 c2 = str.charCodeAt(i++);
	 if(i == len)
	 {
	     out += base64EncodeChars.charAt(c1 >> 2);
	     out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
	     out += base64EncodeChars.charAt((c2 & 0xF) << 2);
	     out += "=";
	     break;
	 } 
	 c3 = str.charCodeAt(i++);
	 out += base64EncodeChars.charAt(c1 >> 2);
	 out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
	 out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >>6));
	 out += base64EncodeChars.charAt(c3 & 0x3F);
 }
    return out;
}

function getInfo(){
	var declin=';'; 
	var imei;
	var curr_staff_num;
	var update_staff_num;
	var password;
	var ip;  
	var port;  
	var resendTime;
	var dowmloadPage;
	var commandPage;
	var dataTransportPage;  

	imei = document.forms[0].imei.value;   
	curr_staff_num ='<bean:write name="te" property="terminal_no" scope="request"/>';    
	update_staff_num = document.forms[0].terminal_no.value;  
	password =  '<bean:write name="constant" property="constant_password" scope="request"/>';
	ip = '<bean:write name="constant" property="constant_ip" scope="request"/>';
	port = '<bean:write name="constant" property="constant_port" scope="request"/>';  
	resendTime = '<bean:write name="constant" property="constant_connection_time" scope="request"/>';
	dowmloadPage = '<bean:write name="constant" property="constant_down_address" scope="request"/>';
	commandPage = '<bean:write name="constant" property="constant_command_address" scope="request"/>';
	dataTransportPage = '<bean:write name="constant" property="constant_location_address" scope="request"/>';
	
	var str = imei+declin+curr_staff_num+declin+update_staff_num+ 
				declin+password+declin+ip+declin+port
				+declin+resendTime+declin+dowmloadPage+
				declin+commandPage+declin+dataTransportPage+declin;
	return str; 
	//alert(str);  
} 
//保存至移动设备
function saveToTermianl(){  
		var str = getInfo(); 
		//alert(str); 
		var dealStr = base64encode(str);
		//alert(dealStr); 
                 //操作本地文件的对象
		var fso = new ActiveXObject("Scripting.FileSystemObject");  
		 
		var drives = "c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r"; //,s,t,u,v,w,x,y,z";
		var array = drives.split(","); 
		 
		for(var i =0 ;i<array.length;i++){ 
			var filepath = array[i]+":\\QinYiApp\\Settting\\profile.bin";  
			alert(filepath);     
			if (fso.FileExists(filepath)){      
			   	 //alert("fold exists");     
			    var f1 = fso.CreateTextFile(array[i]+":\\QinYiApp\\Settting\\SettingInfo.txt", true);
			    f1.WriteLine(dealStr);       
			    f1.close(); 
			    alert('文件已成功写入终端,请断开终端与电脑连接并重启终端!');
			    document.forms[0].submit(); 
			    return;
			 } 
		}  
		alert('修改设置失败!没发现终端设备请将终端连接好电脑,并选择存储模式!');
		window.close();
}
分享到:
评论

相关推荐

    js验证上传文件大小

    总结来说,JavaScript验证上传文件大小主要通过监听文件输入字段的`change`事件,获取文件对象,然后检查`size`属性。结合HTML和CSS,我们可以创建一个交互式的文件上传界面,提供友好的用户反馈。这个功能对于任何...

    NodeJS本地上传文件至服务器

    在Node.js环境中,将本地文件上传到服务器是一个常见的任务,主要应用于文件共享、数据备份、内容发布等场景。本文将详细讲解如何使用Node.js实现这一功能。 首先,我们需要理解Node.js的基本概念。Node.js是一个...

    js_multiple上传文件

    2. **jquery.validate.js**:这个插件用于表单验证,确保用户在上传文件之前满足所有要求,如文件类型、大小等。它提供了许多自定义规则和消息,可扩展性强。 3. **jquery.MultiFile.js**:这个插件专门用于实现多...

    图片上传(图片预览+文件类型验证)

    `&lt;input type="file"&gt;`允许用户选择本地文件,通过设置`accept`属性可以限制可选的文件类型,如`accept=".jpg, .jpeg, .png"`。 5. **事件处理**: 使用`addEventListener`绑定`change`事件到文件输入元素,当用户...

    本地JS做MD5验证时所需的JS文件

    1. **文件一致性检查**:在下载文件后,通过计算本地文件的MD5值并与服务器提供的MD5值进行比较,确认文件完整性。 2. **密码存储**:尽管MD5不安全用于密码保护(因为容易碰撞),但在一些简单场景下,可能会用MD5...

    jsp+js+oracle 实现文件上传数据库,下载到本地

    总结一下,"jsp+js+oracle 实现文件上传数据库,下载到本地"涉及到的关键技术包括: 1. JSP:处理服务器端的文件上传和下载请求。 2. JavaScript:在客户端进行文件选择的验证和预览。 3. Oracle数据库:存储上传的...

    JS上传文件

    它允许开发者读取文件内容,获取文件信息,甚至在本地进行文件操作,如切割和合并。 2. **FormData对象**:在上传文件时,FormData对象是必不可少的。它可以将文件和其他表单数据打包在一起,然后通过...

    js input上传文件可input上传图片

    在JavaScript中,`&lt;input type="file"&gt;`元素是用于让用户选择本地文件并上传到服务器的一个常见组件。本文将深入探讨如何使用JavaScript处理文件上传,特别是针对图片的上传操作。 一、HTML `&lt;input type="file"&gt;` ...

    js判断图片真实性(非判断文件后缀)

    在前端开发中,确保用户上传的是真实的图片文件是非常重要的安全措施。传统的检查方式是通过文件的后缀名来判断,但这种方法存在明显的漏洞,因为恶意...同时,配合后端服务器的验证,可以构建更加安全的文件上传系统。

    js实现文件上传-demo02

    在JavaScript中实现文件上传是一项常见的任务,特别是在Web开发中,它允许用户选择本地文件并通过网络发送到服务器。在这个“js实现文件上传-demo02”的示例中,我们将深入探讨这一过程涉及的关键知识点。 1. **...

    文件上传到本地

    通过`&lt;input type="file"&gt;`元素,用户可以选择本地文件,然后通过JavaScript对这些文件进行读取、操作甚至在客户端预览,而无需提交到服务器。 2. **FormData对象**:在JavaScript中,FormData对象用于创建一个可以...

    js文件编辑器

    1. **HTML5 File API**: 这是现代浏览器提供的一组接口,用于读取、写入和操作本地文件。通过FileReader对象,可以将用户选择的文件内容读取为字符串,进而进行编辑操作。 2. **ace-editor / codemirror**: 这是两...

    ASP Javascript 文件上传

    文件上传是通过HTML的`&lt;input type="file"&gt;`元素触发的,用户可以选择本地文件,然后通过表单提交到服务器。在JavaScript中,可以监听`change`事件来获取用户选择的文件信息。 2. **HTML部分**: 创建一个文件...

    js上传大文件,上传的文件大小不限

    为了实现文件的分块上传,示例代码使用了`ActiveXObject`对象来读取本地文件。需要注意的是,`ActiveXObject`是Internet Explorer特有的一种技术,在现代浏览器中可能无法正常工作。这意味着此段代码可能只适用于IE...

    实现各种类型文件的多文件上传

    SpringBoot的Controller可以通过`@RequestParam`注解获取文件信息,然后通过文件操作API进行相应的处理。 在文件存储方面,可以选择本地存储或者云存储服务(如阿里云OSS、腾讯COS等)。本地存储简单易用,但可能会...

    文件上传所需的js及文件

    2. **JavaScript(js)在文件上传中的作用**:JavaScript通常用于实现文件上传的交互逻辑,包括选择文件、预览文件、验证文件类型与大小、分块上传、进度条显示等功能。在描述中提到的文章链接,很可能是讲解如何...

    js一键上传

    此外,为了防止恶意文件上传,服务器端通常会进行文件类型和大小的验证。 8. **权限控制** 文件上传可能涉及到用户隐私,因此应遵循最小权限原则,只允许用户上传必要的文件,并确保上传的文件不会对系统造成安全...

    phpcms上传文件statics下js.rar

    HTML5的File API允许JavaScript直接访问和操作用户的本地文件,包括读取文件内容、检查文件类型、上传文件等。在PHPCMS的上传功能中,File API可能被用来创建文件对象、读取文件信息、监听文件选择事件,甚至在上传...

    微信小程序文件上传(手机文件管理器上传)

    `wx.chooseImage`可以让用户从相册或者相机中选取图片,`wx.saveFile`用于将临时文件保存至本地,`wx.uploadFile`则是上传本地文件到服务器的关键接口。 2. **文件选择**:用户在手机文件管理器中选择文件,通常...

    Electron项目:读写本地json文件,实现用户登录、修改用户信息,窗口最小化,最大化,关闭窗口

    Node.js的`fs`模块提供了读写文件的能力,例如`fs.readFile()`和`fs.writeFile()`,可以用来读取和保存JSON数据到本地文件。 3. **用户登录**: 用户尝试登录时,通常会提供用户名和密码。在正常情况下,这些信息...

Global site tag (gtag.js) - Google Analytics