`

jsp实现文件的上传及javascript对上传文件的简单验证

    博客分类:
  • J2EE
阅读更多

  前两天做OJ的时候,我做的两个功能都涉及到了文件的上传这个功能,所以我觉得很有必要把这个模块的代码记录下来,框架使用的struts2
  首先,jsp页面中的的form表单是这样的


<form  method="post" enctype="multipart/form-data" name="form2">
  	<table>
	  <tr>
	  <td>上传</td>
	  <td><input type="file" name="file"/>(仅支持.zip格式的压缩文件)</td>
	  </tr>
  	</table>
	 input type="submit" value=" 提交 " onclick="test()"/>
  </form>


其中form表单中的action方法我设置中了javascript代码中,用于对上传文件的验证
<script type="text/javascript">
		function test()
		{
			if(form.file.value == "")
			{
				alert("请选择文件!");//确定文件框不为空
			}
			else
			{  
				var path = form.file.value;
				var name = ".zip";
				var c = path.indexOf(name,path.length-4); 
/*
验证文件的格式是否为.zip方法为检查文件路径的最后四个字符是否为.zip,是的话返回一个大于0的数字(即它们在整个字符串中的位置,如果没有的话则返回-1)
*/
				if(c>=0)
				{
					form.action="contest/shengcheng.action"; //设置form表单的action
				}
				else
				{
					alert("文件格式不正确!");
				}
			}
		}
</script>

  要正确地把文件传到服务器上,action中的代码为
         private File file;  
	private String fileFileName; //文件名,只是文件名没有路径
	
	
	
	public File getFile() { 
		return file;
	}
	public void setFile(File file) {
		this.file = file;
	}
	public String getFileFileName() {
		return fileFileName;
	}
	public void setFileFileName(String fileFileName) {
		this.fileFileName = fileFileName;
	}
	public String upload() throws Exception
	{
                  String root = ServletActionContext.getRequest().getRealPath("/upload");//上传的文件在服务器上保存的路径


		File filepath = new File(root);
		if(!filepath.exists())
			filepath.mkdirs(); //判断/tmp目录是否存在,若不存在,创建
		
		InputStream is = new FileInputStream(file);
		
		File destFile = new File(filepath,fileFileName);
		
		OutputStream os = new FileOutputStream(destFile);
		
		byte[] buffer = new byte[400];
		
		int length = 0;
		while(-1 != (length = is.read(buffer)))
		{
			os.write(buffer,0,length);
		}
		
		is.close();
		os.close();
		
		return "success";
	}
分享到:
评论

相关推荐

    JSP多文件上传(同时上传)

    实现JSP多文件上传,我们需要了解以下几个关键知识点: 1. **HTML表单与多文件选择**: 在HTML中,`&lt;input type="file"&gt;`标签用于创建一个文件输入框,用户可以通过它选择文件。要支持多文件上传,需要设置`...

    JSP实现 文件上传

    综上所述,JSP实现文件上传涉及前端表单设计、后端Servlet处理、文件保存、错误处理及安全性等多个方面。使用Apache Commons FileUpload库可以简化处理过程,但开发者仍需关注文件上传的完整流程,确保功能的稳定性...

    jsp实现文件上传功能

    在这个特定的项目中,我们关注的是如何使用JSP来实现文件上传的功能,这是一个常见的需求,特别是在用户需要提交表单数据时包含文件,如图片、文档等。 文件上传通常涉及以下步骤: 1. **前端交互**:在用户界面,...

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

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

    jsp多文件上传

    本示例主要关注"jsp多文件上传",结合了jQuery和plupload库来实现这一功能。以下是对这些知识点的详细解释: 1. **JSP(JavaServer Pages)**:JSP是Java的一种动态网页技术,它允许开发人员在HTML代码中嵌入Java...

    jsp实现上传和下载

    1. **安全检查**:对于上传,需要对文件类型和大小进行验证,防止恶意文件上传,如病毒或大文件占用服务器资源。 2. **权限控制**:确保只有授权用户可以上传或下载文件,避免数据泄露。 3. **性能优化**:对于大量...

    JSP中(jsp+servlet)实现的文件上传

    本教程将详细讲解如何在JSP(Java Server Pages)环境中,结合Servlet技术,实现一个简单的文件上传功能,特别是针对图片格式(如gif和jpg),同时阻止危险文件类型(如exe和bat)的上传。 首先,我们需要理解JSP和...

    JSP多文件上传组件 v1.0.rar

    "JSP多文件上传组件 v1.0" 是一个专为Java Server Pages (JSP) 设计的组件,它允许用户在Web应用程序中实现多文件批量上传。这个组件简化了开发过程,提供了用户友好的界面和高效的文件处理机制。 1. **JSP技术介绍...

    基于jsp的带进度条的文件上传

    本教程将深入探讨如何实现一个带有进度条显示的文件上传功能,这对于提升用户体验至关重要,因为用户可以直观地看到文件上传的进度。 首先,我们需要了解JSP的基本原理。JSP是一种用于创建动态Web页面的技术,它...

    AJAX+JSP实现基于WEB的文件上传的进度控制

    AJAX(Asynchronous JavaScript and XML)技术的引入,配合JSP(JavaServer Pages),可以实现在不刷新整个页面的情况下进行异步文件上传,并且能够动态更新上传进度,极大地提升了用户交互体验。下面我们将详细探讨...

    jsp 文件 上传 组件

    总结,JSP文件上传组件通常涉及JSP页面设计、Servlet处理以及第三方库如Apache Commons FileUpload的使用。理解这些知识点,开发者就能构建出健壮且安全的文件上传功能。在实际应用中,务必注意文件上传的安全性,...

    jsp无刷新上传文件

    此外,需要注意不同浏览器对文件上传的支持情况,比如IE8及以下版本对FormData和XMLHttpRequest Level 2的支持有限。 6. **FileServlet.java**:这是服务器端处理文件上传的Servlet,通常会实现`doPost`方法来接收...

    JSP 动态多文件上传标签

    本知识点聚焦于"JSP动态多文件上传",这是一个常见的功能需求,特别是在用户需要上传多个文件如图片、文档等的场景下。我们将探讨如何利用div、css以及javascript来实现这一功能,同时强调其浏览器兼容性和整合的...

    JSP文件上传功能(struts)

    在Java Web开发中,JSP(JavaServer Pages)...综上所述,JSP和Struts实现文件上传涉及HTML表单、Struts配置、Action处理、文件操作及安全考虑等多个环节。掌握这些知识点,开发者可以构建出稳定、安全的文件上传功能。

    jsp简单资源上传系统(可上传,下载,删除文件)

    此外,为了处理文件路径和安全性,开发者通常会使用相对路径并避免硬编码,同时对上传文件的类型和大小进行验证,防止恶意文件上传和服务器资源被滥用。 对于项目结构,可能包括以下几个部分: 1. **Web-INF**:...

    jsp文件上传到数据库里例子下载

    【标题】"jsp文件上传到数据库里例子下载"是一个典型的Java Web开发教程,它涉及到的主要知识点是如何使用JSP(JavaServer Pages)将用户上传的文件存储到数据库中。这一过程通常用于实现用户在网站上上传图片、文档...

    ajax jsp 无刷新上传文件

    需要注意的是,在实际部署时,还需考虑安全性问题,例如对上传文件的合法性验证等。 此外,虽然本例中使用了IFrame来实现无刷新的效果,但真正的AJAX实现方式会更灵活和高效,可以使用jQuery等库提供的AJAX方法来...

    jsp中用于文件上传的组件

    **一、JSP文件上传基础** 在JSP中,文件上传通常涉及到HTTP协议的多部分请求(Multipart Request)。这种请求允许用户在表单中提交多个数据部分,其中包括文本字段和二进制文件。在Servlet API中,` Commons ...

    jsp上传文件带进度条(源码项目)

    在这个源码项目中,我们看到一个针对JSP文件上传功能的实现,它具有无刷新的特性,并且在上传过程中显示了详细的进度信息,为用户提供更好的用户体验。 首先,我们要理解"无刷新"的概念。在传统的文件上传过程中,...

    jsp/servlet文件上传(带进度)

    为了实现进度显示,可以利用`AJAX`技术发送异步请求,`AJAXFileUpload`是一个常用的JavaScript库,它提供了文件上传的进度回调,可以在用户界面实时更新上传进度。 2. **后端**:在`Servlet`中,我们需要解析上传的...

Global site tag (gtag.js) - Google Analytics