首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2012-08-27 
jsp实现文件的上传及javascript对上传文件的简单验证前两天做OJ的时候,我做的两个功能都涉及到了文件的上

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

  前两天做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";}

热点排行