使用SmartUpload組件上傳文件,自己踩過的坑

昨天使用SmartUpload組件上傳文件,代碼很簡單:

smartupload_demo01.html

<html>
<head><title>smartupload_demo01.html</title></head>
<body>
<form action="smartupload_demo01.jsp" method="post" enctype="multipart/form-data">
    請選擇文件:<input type="file" name="pic">
    <input type="submit"  value="上傳">
</form>
</body>
</html>

smartupload_demo01.jsp

<%@page contentType="text/html" pageEncoding="GBK"%>
<%@page import="com.jspsmart.upload.*"%>
<html>
<head><title>smartupload_demo01.jsp</title></head>
<body>
<%
      int count = 0;
      SmartUpload smart = new SmartUpload();   // 實例化SmartUpload對象
      smart.initialize(pageContext);                       // 初始化上傳操作
      smart.upload();                                             // 準備上傳
    try {
          count = smart.save("upload");                 // 將上傳的文件保存在upload文件夾中
%>
           <%=count%> files upload.
<% 
      }catch(Exception e) {
           e.printStackTrace();
     }
%>
</body>
</html>

剛開始我以爲不需要使用request.getParameter()獲取表單項的值,就自以爲是的在<input type="file">裏沒有寫name屬性,結果沒有任何錯誤提示,可就是無法上傳文件,後來在網上查了下資料才發現。沒有name屬性servlet是接受不到表單信息的,SmartUpload中的upload()方法也需要name屬性來獲取參數的。所以這個name屬性是必不可少的。

另外:在設置<form>標籤中的enctype屬性時一定不要將字母打錯,計算機時很嚴謹的,打錯一個字母都無法上傳。我就是將form-data打成form-date結果無法上傳,系統也不報錯,找了很久才發現這個小錯誤。:-(

以上就是我在使用SmartUpload上傳文件時踩過的坑,記錄在這裏提醒自己,也希望能幫助到需要的人。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章