文件上传很简单,几步轻松搞定:
1.将jsmartcom_zh_CN.jar包导入到项目的WEB-INF文件路径下的lib中。
2.在index.jsp页面中编写页面:
<body> <form action="doUpload.jsp" method="post" enctype="multipart/form-data"> 上传文件<input type="file" name="file"><input type="submit" value="上传文件"> </form> </body>
3.在处理页面doUpload.jsp页面写东西:
注意第一行,将jsmartcom_zh_CN.jar中的包com.jspsmart.upload导入。
<%@ page language="java" import="java.util.*,com.jspsmart.upload.*" pageEncoding="utf-8"%> <%@page import="javax.print.DocFlavor.STRING"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <% SmartUpload upload=new SmartUpload(); //初始化 upload.initialize(this.getServletConfig(),request,response); //开始上传 upload.upload(); //获得所有上传文件 Files files=upload.getFiles(); //获得第一个上传文件 File file=files.getFile(0); //安全验证,获得文件的扩展名 String ext=file.getFileExt(); if("exe".equals(ext)){ out.write("<script>alert('exe文件不允许上传');location.href='index.jsp'</script>"); }else{ //文件大小 int size=file.getSize();//字节 System.out.println(size+"---"+file.getFileName()); file.saveAs("upload/"+file.getFileName()); } %>
最后就是注意上传乱码问题:
1、第一类乱码:
解决方法:将传送的JSP页面(即含有表单的页面)的页面编码方式改为:
<%@ page contentType="text/html; charset=GB2312" language="java"import="java.sql.*" errorPage="" %>
<meta http-equiv="Content-Type"content="text/html;
charset=GB2312"/>
2、第二类乱码:
解决方法:
在
加上
放在
之前。