JspSmartUpload上傳常見問題解析_JSP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:JSP上傳文件的兩種實(shí)現(xiàn)方法(含詳細(xì)代碼)
      以前用cos作文件上傳,但是對(duì)于文件上傳后的改名還需要借助其他的工具。 摘錄如下: 在用Java開發(fā)企業(yè)器系統(tǒng)的使用,特別是涉及到與辦公相關(guān)的軟件開發(fā)的時(shí)候,文件的上傳是客戶經(jīng)常要提到的要求.因此有 一套很好文件上傳的解決辦法也能方便大家在這一塊的開發(fā).

      因?yàn)槭诸^的項(xiàng)目需要 上傳圖片,初次才用比較流行的jspSmartUpload上傳。

      畢竟沒有搞過,弄了一個(gè)下午,終于將碰到的問題搞定了。

      第一個(gè)問題,表單設(shè)置:method="post",ENCTYPE="multipart/form-data",只能這樣

      第二個(gè)問題,不能通過request.getParameter()取得取得其他的表單字段值,只能通過SmartUpload.getRequest().getParameter("")取得,否則得到的值始終為null

      第三,SmartUpload.getRequest().getParameter("")中如果取得中文轉(zhuǎn)馬方式為

      String name=new String(su.getRequest().getParameter("name").getBytes(),"UTF-8");

      這是我試了許多方式,唯一正確的

      第四 ,取得其他表單字段的值必要在 // 新建一個(gè)SmartUpload對(duì)象
      SmartUpload su = new SmartUpload();

      后面完成,否則出錯(cuò)

      相關(guān)代碼入下:希望對(duì)大家有所幫組

      upload.jsp

      <%@ page language="java" pageEncoding="UTF-8" import="java.sql.*,com.jspsmart.upload.*"%>
      <jsp:useBean id="date" scope="request" class="util.DateAndTime"/>
      <jsp:useBean id="data" scope="request" class="util.DataConnection"/>
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      <html:html locale="true">
      <head>
      <html:base />

      <title>upload.jsp</title>

      <meta http-equiv="pragma" content="no-cache">
      <meta http-equiv="cache-control" content="no-cache">
      <meta http-equiv="expires" content="0">
      <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
      <meta http-equiv="description" content="This is my page">
      <!--
      <link rel="stylesheet" type="text/css" href="styles.css">
      -->

      </head>

      <body>

      <%
      // 新建一個(gè)SmartUpload對(duì)象
      // 新建一個(gè)SmartUpload對(duì)象
      SmartUpload su = new SmartUpload();
      // 上傳初始化
      su.initialize(pageContext);
      // 設(shè)定上傳限制
      // 1.限制每個(gè)上傳文件的最大長度。
      su.setMaxFileSize(10000);
      // 2.限制總上傳數(shù)據(jù)的長度。
      su.setTotalMaxFileSize(10000);
      // 3.設(shè)定允許上傳的文件(通過擴(kuò)展名限制),僅允許doc,txt文件。
      su.setAllowedFilesList("gif,jpeg,jpg");
      // 4.設(shè)定禁止上傳的文件(通過擴(kuò)展名限制),禁止上傳帶有exe,bat,jsp,htm,html擴(kuò)展名的文件和沒有擴(kuò)展名的文件。
      su.setDeniedFilesList("exe,bat,jsp,htm,html,asp,php,xml,xhtml");
      // 上傳文件
      su.upload();
      // 將上傳文件全部保存到指定目錄
      su.save("/upload");
      String pathname=null;
      String name=new String(su.getRequest().getParameter("name").getBytes(),"UTF-8");
      String link=su.getRequest().getParameter("link");
      for(int i=0;i<su.getFiles().getCount();i++)
      {

      com.jspsmart.upload.File file = su.getFiles().getFile(i);
      if(file.isMissing()){
      continue;
      }
      pathname=file.getFileName();
      }
      String ptime=date.getDate2();
      String sql="insert into link(path,content,type,ptime,hotlink)values('"+pathname+"','"+name+"','1','"+ptime+"','"+link+"')";
      int ac=data.executeOperate(sql);
      if(ac==1)
      {
      out.println("<script>alert('發(fā)布成功!');</script>");
      out.println("<script>window.location='uplink.jsp';</script>");
      }

      %>

      </body>
      </html:html>

      來源:CSDN

      分享:JSP調(diào)用SQL server 2000存儲(chǔ)過程
      1.新建表: CREATE TABLE [mytest] ( [id] [int] NOT NULL , [name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [phone] [varchar] (13) COLLATE Chinese_PRC_CI_AS NULL , [addr] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]

      來源:模板無憂//所屬分類:JSP教程/更新時(shí)間:2012-06-15
      相關(guān)JSP教程