<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我思故我強

    JSP上傳圖片并生成縮略圖

    本例子使用了jspsmart組件進行上傳,這里可以免費下載該組件www.jspsmart.com
    下載解壓后,將jar包復制到 \WEB-INF\lib 目錄后重啟服務器,jspsmart即可正常使用了

    1、uploadimage.jsp

    <%@ page contentType="text/html;charset=gb2312" language="java" import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,
    java.sql.*,com.jspsmart.upload.*,java.util.*,cn.oof.database.*,cn.oof.house.*"%>
    <%
    SmartUpload mySmartUpload =new SmartUpload();
    long file_size_max=4000000;
    String fileName2="",ext="",testvar="";
    String url="uploadfile/images/";?????? //應保證在根目錄中有此目錄的存在
    //初始化
    mySmartUpload.initialize(pageContext);
    //只允許上載此類文件
    try {
    mySmartUpload.setAllowedFilesList("jpg,gif");
    //上載文件
    mySmartUpload.upload();
    } catch (Exception e){
    %>
    ?? <SCRIPT language=javascript>
    ?? alert("只允許上傳.jpg和.gif類型圖片文件");
    ?? window.location=''upfile.jsp'';
    ?? </script>
    <%
    }
    try{

    ???? com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
    ???? if (myFile.isMissing()){%>
    ??? <SCRIPT language=javascript>
    ??? alert("請先選擇要上傳的文件");
    ??? window.location=''upfile.jsp'';
    ??? </script>
    ???? <%}
    ???? else{
    ?????? //String myFileName=myFile.getFileName(); //取得上載的文件的文件名
    ??? 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=request.getRealPath("/")+url;
    ???? saveurl+=filename+"."+ext;?????????? //保存路徑
    ???? myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);
    ???? //out.print(filename);
    //-----------------------上傳完成,開始生成縮略圖-------------------------????
    ???? java.io.File file = new java.io.File(saveurl);???????? //讀入剛才上傳的文件
    ???? String newurl=request.getRealPath("/")+url+filename+"_min."+ext;?? //新的縮略圖保存地址
    ???? Image src = javax.imageio.ImageIO.read(file);????????????????????? //構造Image對象
    ???? float tagsize=200;
    ???? int old_w=src.getWidth(null);????????????????????????????????????? //得到源圖寬
    ???? int old_h=src.getHeight(null);???
    ???? int new_w=0;
    ???? int new_h=0;???????????????????????????? //得到源圖長
    ???? int tempsize;
    ???? float tempdouble;
    ???? if(old_w>old_h){
    ????? tempdouble=old_w/tagsize;
    ???? }else{
    ????? tempdouble=old_h/tagsize;
    ???? }
    ???? new_w=Math.round(old_w/tempdouble);
    ???? new_h=Math.round(old_h/tempdouble);//計算新圖長寬
    ???? BufferedImage tag = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);
    ???? tag.getGraphics().drawImage(src,0,0,new_w,new_h,null);??????? //繪制縮小后的圖
    ???? FileOutputStream newimage=new FileOutputStream(newurl);?????????? //輸出到文件流
    ???? JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);???????
    ???? encoder.encode(tag);??????????????????????????????????????????????? //近JPEG編碼
    ????? newimage.close();????

    ??? }
    ??? else{
    ???? out.print("<SCRIPT language=''javascript''>");
    ???? out.print("alert(''上傳文件大小不能超過"+(file_size_max/1000)+"K'');");
    ???? out.print("window.location=''upfile.jsp;''");
    ???? out.print("</SCRIPT>");
    ??? }
    ?? }
    }catch (Exception e){

    e.toString();

    }
    %>

    2 upload.htm
    <html>
    <head>
    <title>請選擇上傳的圖片</title>
    </head>
    <body>
    <table border="0" align="center" cellpadding="0" cellspacing="0">
    ?? <tr>
    ???? <td height="45" align="center" valign="middle"><form action="uploadimage.jsp" method="post" enctype="multipart/form-data" name="form1">
    請選擇上傳的圖片
    ???? <input type="file" name="file">
    <input type="submit" name="Submit" value="上傳">
    ???? </form></td>
    ?? </tr>
    </table>
    </body>
    </html>

    posted on 2007-11-02 10:48 李云澤 閱讀(645) 評論(0)  編輯  收藏 所屬分類: J2EE

    主站蜘蛛池模板: 亚洲欧洲中文日韩av乱码| 青草草色A免费观看在线| 亚洲精品国产精品国自产观看| 亚洲最大的黄色网| 动漫黄网站免费永久在线观看| 亚洲最新黄色网址| 欧美日韩国产免费一区二区三区| 亚洲一区二区三区深夜天堂| 99久久国产热无码精品免费 | 最新仑乱免费视频| 亚洲1234区乱码| 爽爽日本在线视频免费| 亚洲影院天堂中文av色| 国产极品粉嫩泬免费观看| 美女视频黄a视频全免费网站一区| 免费a级毛片无码a∨性按摩| 免费国产在线精品一区| 久久国产亚洲精品麻豆| 99精品一区二区免费视频| 亚洲成人免费网址| 国产乱色精品成人免费视频| 国产男女爽爽爽免费视频| 久久精品国产亚洲AV果冻传媒 | 精品一区二区三区高清免费观看| 国产亚洲综合一区柠檬导航| 久久99精品免费视频| 亚洲国产精品无码久久久| 国产成人3p视频免费观看| a级毛片在线免费观看| 亚洲白色白色在线播放| 国产一级高清视频免费看| 最近中文字幕免费大全| 亚洲中文无码a∨在线观看| 国产免费怕怕免费视频观看| a毛片视频免费观看影院| 亚洲中文字幕在线无码一区二区| 免费一级毛片在级播放| 91禁漫免费进入| 黄色a三级三级三级免费看| 666精品国产精品亚洲| 免费一级一片一毛片|