现在的位置: 首页 > 综合 > 正文

form设值为:enctype=”multipart/form-data” 的问题

2013年08月16日 ⁄ 综合 ⁄ 共 1398字 ⁄ 字号 评论关闭

表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.
enctype="multipart/form-data"是上传二进制数据;

 

form里面的input的值以2进制的方式传过去。
form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,取表单值加入数据库时,用到下面的:

 

  1. SmartUpload upload = new SmartUpload();   
  2.      try{   
  3.      upload.initialize(config, request, response);   
  4.     // 允许上传的文件类型   
  5.      upload.setAllowedFilesList("doc,xls,");   
  6.     // 拒绝上传的文件类型   
  7.      upload.setDeniedFilesList("exe,bat,jsp");   
  8.     // 允许上传文件的单个最大大小   
  9.      upload.setMaxFileSize(1024 * 1024 * 20);   
  10.     // 允许上传文件的最大大小总和   
  11.     // upload.setTotalMaxFileSize(1024*1024*10);   
  12.     //上传数据   
  13.      upload.upload();   
  14.      }   
  15.     catch (SmartUploadException e){   
  16.          e.printStackTrace();   
  17.         return;   
  18.      }   
  19.   
  20.     Request req = upload.getRequest();   
  21.      String spid=(String)req.getParameter("teacherId");   
  22.          //.....   
  23.          //To do something  
SmartUpload upload = new SmartUpload();
     try{
 upload.initialize(config, request, response);
 // 允许上传的文件类型
 upload.setAllowedFilesList("doc,xls,");
 // 拒绝上传的文件类型
 upload.setDeniedFilesList("exe,bat,jsp");
 // 允许上传文件的单个最大大小
 upload.setMaxFileSize(1024 * 1024 * 20);
 // 允许上传文件的最大大小总和
 // upload.setTotalMaxFileSize(1024*1024*10);
 //上传数据
 upload.upload();
 }
 catch (SmartUploadException e){
  e.printStackTrace();
  return;
 }

 Request req = upload.getRequest();
 String spid=(String)req.getParameter("teacherId");
         //.....
         //To do something

抱歉!评论已关闭.