<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 李云澤 閱讀(644) 評論(0)  編輯  收藏 所屬分類: J2EE

    主站蜘蛛池模板: 乱淫片免费影院观看| www.亚洲日本| 中文字幕av免费专区| 亚洲av无码不卡私人影院| 激情无码亚洲一区二区三区| 免费观看男人免费桶女人视频 | 亚洲av无码不卡一区二区三区| 久久九九久精品国产免费直播| 亚洲日韩人妻第一页| 国产在线精品观看免费观看| 狠狠亚洲婷婷综合色香五月排名| 二个人看的www免费视频| 亚洲欧洲日产国码无码久久99| 未满十八18禁止免费无码网站| 久久水蜜桃亚洲av无码精品麻豆 | 亚洲精品自偷自拍无码| 四虎在线视频免费观看| 日本中文字幕免费看| 亚洲码国产精品高潮在线| 日韩av无码久久精品免费| 精品亚洲AV无码一区二区| 免费国产在线观看不卡| 中文字幕免费在线看电影大全| 亚洲第一精品在线视频| 女人被免费视频网站| 黄色网址在线免费观看| 亚洲av永久无码精品国产精品| 在线观看永久免费| 在线亚洲v日韩v| 亚洲va中文字幕无码久久不卡| 5555在线播放免费播放| 亚洲国产成人久久精品软件 | 亚洲国产成人91精品| 国产91在线免费| 日韩精品内射视频免费观看| 亚洲av日韩综合一区二区三区| 国产成人亚洲精品狼色在线| 久久国产免费福利永久| 免费人成视频在线观看免费| 精品亚洲成a人片在线观看少妇 | 久久久久亚洲精品男人的天堂|