zoukankan      html  css  js  c++  java
  • JSP图片上传 公共工具类

    需要jsmartcom_zh_CN.jar支持. 下载地址: http://files.cnblogs.com/simpledev/jsmartcom_zh_CN.rar 

    <%@page import="com.bn.car.core.Constants"%>
    <%@ page contentType="text/html;charset=UTF-8" language="java"
        import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jspsmart.upload.*,java.util.*"%>
    
    <%
        String pageSource  = request.getParameter("pageSource");  //定义接收的源页面,可以将该图片上传工具类独立抽象出来放入include文件夹中。
        
        SmartUpload mySmartUpload = new SmartUpload();
    
        long file_size_max = 4000000;
    
        String fileName2 = "", ext = "", testvar = "";
    
        
        String url = "";
        
        if(pageSource == "addparts" || pageSource.equals("addparts")){
            url = Constants.PARTSPATH;   //常量类定义上传目录
        }else if(pageSource == "addcar2" || pageSource.equals("addcar2")){
            url = Constants.CARPATH;    //常量类定义上传目录
        }
        
        //初始化 
        mySmartUpload.initialize(pageContext);
    
        //只允许上载此类文件 
        try {
            mySmartUpload.setAllowedFilesList("jpg,gif");//此处的文件格式可以根据需要自己修改 
            //上载文件 
            mySmartUpload.upload();
        } catch (Exception e) {
    %>
    
        <SCRIPT language=javascript> 
        alert("只允许上传.jpg和.gif类型图片文件"); 
        </script> 
    <%
        }
    
        try {
            com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
            if (myFile.isMissing()) {
    %>
    
        <SCRIPT language=javascript> 
            alert("请先选择要上传的文件"); 
        </script> 
    
    <%
        }
            else {
                ext = myFile.getFileExt(); //取得后缀名 
                int file_size = myFile.getSize(); //取得文件的大小 
                String saveurl = "";
                if (file_size < file_size_max) {
                    //更改文件名,取得当前上传时间的毫秒数值 
                    Calendar calendar = Calendar.getInstance();
                    String filename = String.valueOf(calendar.getTimeInMillis());
                    //图片上传地址
                    saveurl = Constants.ROOTPATH + url;
                    String pic_url = filename + "." + ext;   //文件名+后缀
                    saveurl += pic_url; //保存路径 
    
                    myFile.saveAs(saveurl, SmartUpload.SAVE_PHYSICAL);
    
                    String ret = "alert('上传成功!');";
    
                    out.print("<script language=javascript>" + ret + "</script>");
                    
                    //将新上传的图片放入到session中.
                    String picUrls = (String)session.getAttribute(pageSource + "_picUrls");
    
                    if(picUrls == null){
                        session.setAttribute(pageSource + "_picUrls",pic_url);
                    }else{
                        picUrls = pic_url + "," + picUrls; //以逗号分割. 新上传的在前面
                        session.setAttribute(pageSource + "_picUrls",picUrls);
                    }
                    
                    //转发,根据原来的页面判断去向。
                    if(pageSource == "addparts" || pageSource.equals("addparts")){
                        response.sendRedirect("../supply/addparts.jsp");
                    }else if(pageSource == "addcar2" || pageSource.equals("addcar2")){
                        response.sendRedirect("../caruser/addcar2.jsp");
                    }
                    
                }
    
            }
    
        } catch (Exception e) {
            e.printStackTrace();
            out.print(e.toString());
    
        }
    %>
  • 相关阅读:
    深入理解线程通信
    你应该知道的 volatile 关键字
    CSS-盒模型与文本溢出笔记
    Html-表单笔记
    浏览器中缓存Cache
    python-对requests请求简单的封装
    【译】MongoDb vs Mysql—以NodeJs为例
    太嚣张了!他竟用Python绕过了“验证码”
    【转】Python之道
    selenium-测试框架搭建(十三)
  • 原文地址:https://www.cnblogs.com/simpledev/p/3446445.html
Copyright © 2011-2022 走看看