使用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上传文件时踩过的坑,记录在这里提醒自己,也希望能帮助到需要的人。

发布了9 篇原创文章 · 获赞 7 · 访问量 5493

猜你喜欢

转载自blog.csdn.net/u013455166/article/details/104112670