使用jspsmartupload解决表单属性为multipart/form-data不能传其他参数的问题

  最近在写一个网站,要求能实现文件上传,但是用户上传文件同时可以设置密码,当别人下载他的文件时需要用到这个密码。当表单属性是multipart/form-data时用函数request.Parameter()就会取到一个空值。以下是代码:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.jspsmart.upload.File;
import com.jspsmart.upload.Request;
import com.jspsmart.upload.SmartUpload;
import cn.suse.model.*;


public class FileServlet extends HttpServlet {
    private static final long serialVersionUID = 56890894234786L;

  
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, java.io.IOException {
     response.setContentType("text/html");
     request.setCharacterEncoding("GBK");
     String relativeDir = "E:\\a";
  try{
  // 新建一个SmartUpload对象
  SmartUpload su = new SmartUpload();
  // 上传初始化
  su.initialize(getServletConfig(),request,response);
  // 限制每个上传文件的最大长度。
  su.setMaxFileSize(1024*1024*10000);
  // 限制总上传数据的长度。
  su.setTotalMaxFileSize(30000*1024*1024);
  // 设定允许上传的文件类型(扩展名),如仅允许doc文件。
  su.setAllowedFilesList("doc");
  // 禁止上传的文件类型(扩展名),禁止上传exe和无扩展名的文件。
  su.setDeniedFilesList("exe,,");
  // 上传文件
  su.upload();
  //取得上传文件的密码
  Request uploadrequest = su.getRequest();
  String password = uploadrequest.getParameter("password");
  //取得文件名

  String fileName=su.getFiles().getFile(0).getFileName();

  //取得文件大小
  File myFile = su.getFiles().getFile(0);
  int fileSize=myFile.getSize();

  }

}

你可能感兴趣的:(传参)