您的位置:首页 > Web前端 > JavaScript

文件上传(纯jsp编写,无框架)

2016-11-25 16:31 363 查看
1.创建java web 项目

2.编写两个jsp页面(load.jsp;upload.jsp)

3.所需jar包(jsmartcom_zh_CN.jar)

4.代码如下:

     load.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<html>

<head>

<base href="<%=basePath%>">

<title>文件上传</title>

<script>

    function initname(){

      var filename = formname.fileforload.value;

      if(filename == "" || filename == null){

        alert(" 请先选择您要上传的文件");

      }else if(check(filename)){

        alert("只能上传doc,xls,jpg,zip格式的压缩文件");

      }else{

        formname.submit();

      }

    }

   

    function check(filename){

      var index = filename.lastIndexOf(".");

      var endname = filename.substr(index+1);

      var str = "pdf||doc||xls||jpg||DOC||XLS||JPG||ZIP||zip";

      if(str.indexOf(endname)<0){

        return true;

      }else{

        return false;

      }

    }

    </script>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<link href="css/admin.css" rel="stylesheet" type="text/css" />

</head>

<body>

<form action="./upload.jsp" method="post" name="formname" enctype="multipart/form-data">

     请选择图片文件:

  <input name="fileforload" style="height:20px;width:160px" type="file"/>

  <a href="javascript:initname();" style="text-decoration: none;background-color:#0cf;padding:0px 5px;">上传</a>

  

</form>

</body>

</html>



   upload.jsp

<%@ page language="java" import="java.util.*,java.io.*,com.jspsmart.upload.*,com.file.tools.*" pageEncoding="gbk"%>
<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>
<html>

  <head>

    <base href="<%=basePath%>">

  

    <title>文件上传</title>

   

  </head>
  <body>

 

   <%try{

       SmartUpload mySmartUpload = new SmartUpload();

       mySmartUpload.initialize(pageContext);

       //开始上传

       mySmartUpload.upload();

      

       //将上传的文件全部保存在/upload目录下

       String keepFilePath = request.getRealPath("/load");

      

       if( mySmartUpload.getFiles().getCount()<=0){

        out.print("<script>alert('找不到您要上传的文件!');</script>");

       }

       for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {

             com.jspsmart.upload.File file = mySmartUpload.getFiles().getFile(i); 

             String oldFileName=file.getFileName();

             System.out.println("oldFileName="+oldFileName);

             

              String uuid=UUID.randomUUID().toString();

              int beginIndex=oldFileName.lastIndexOf(".");

              String newFileName=uuid+oldFileName.substring(beginIndex, oldFileName.length());

            

              if (file.isMissing()) continue;

               System.out.println("size="+file.getSize());

              if(file.getSize()<= 10*1024*1024){

                  file.saveAs(keepFilePath+"/"+newFileName);

                  out.print("文件上传成功!");

              } else{

               out.print("<script>alert('您上传的文件不能大于10MB!');</script>");

               out.print("文件上传失败!");

              }
       }

     

   }catch(Exception e){

    out.print("upload error.");

    e.printStackTrace();

   }

  

   %>

  </body>

</html>


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: