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

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>

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值