表单<form method="POST" ENCTYPE="multipart/form-data" id="upload" name="upload" action="do_upload.jsp">
        
          <input type="file" name="file1" id="file1" />
          <input type="Submit" name="Submit2" value="上传批量文件" id="label10" />
                </form>
do_upload.jsp操作页面,为什么上传不了呢
<% SmartUpload su=new SmartUpload();
            su.initialize(pageContext);
            su.setMaxFileSize(10000);
            su.setTotalMaxFileSize(20000);
            su.setAllowedFilesList("mp3,mp4");// 设定允许上传的文件(通过扩展名限制),仅允许mp3,mp4文件
            su.setDeniedFilesList("exe,bat,jsp,htm,html,,");//不允许exe bat jsp htm html
            su.upload();
           int count= su.save("e:\\upload");
         out.println(count+"个文件上传成功!<br>");
%>

解决方案 »

  1.   

    用import org.apache.struts.upload.FormFile;
    这个struts自带的上传组件吧
    、速度快
      

  2.   

    我有一个jspsmartupload 写的上传功能的例子,使用了数据库,把文件名和描述 还有路径写入的例子。我测试过,很好用。
    你把jar包不要忘了添加到lib文件夹下。
    如果需要,把邮箱告诉我。
      

  3.   

    强烈建议LZ用 apache的 comm-fileupload 上传import java.io.File;
    import java.util.Iterator;
    import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileUpload;
    import org.apache.commons.fileupload.FileUploadException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    /*
     * //暂时考虑单个文件上传的处理
     */
    public class FileUploadUtil{

    //存放文件路径
    String  saveFilePath;
    //存放文件名
    String saveFileName;
    //客户端文件路径
    String clientFilePath;
    //客户端文件名
    String clientFileName;
    //临时目录
    String tempDir = "c:\temp";
    long fileSize ;
    public long getFileSize() {
    return fileSize;
    }
    public String getTempDir() {
    return tempDir;
    }
    public void setTempDir(String tempDir) {
    this.tempDir = tempDir;
    }
    public String getSaveFilePath() {
    return saveFilePath;
    }
    public void setSaveFilePath(String saveFilePath) {
    File f = new File(saveFilePath);
    if(!f.exists()) f.mkdir();
    this.saveFilePath = saveFilePath;
    }
    public String getSaveFileName() {
    return saveFileName;
    }
    public void setSaveFileName(String saveFileName) {
    this.saveFileName = saveFileName;
    }
    public String getClientFilePath() {
    return clientFilePath;
    }
    public void setClientFilePath(String clientFilePath) {
    this.clientFilePath = clientFilePath;
    }
    public String getClientFileName() {
    return clientFileName;
    }
    public void setClientFileName(String clientFileName) {
    this.clientFileName = clientFileName;
    }


    public void saveFile(HttpServletRequest request) throws Exception{
    String temp = "";
    int p ;
    try{
    boolean isMultipart = FileUpload.isMultipartContent(request);
    DiskFileItemFactory  factory = new DiskFileItemFactory();
          ServletFileUpload upload = new ServletFileUpload(factory);
          //文件最大,设为-1表示不受限制
          upload.setSizeMax(-1);
          //解析请求,把解析的结果放在一个List里面
          List items = upload.parseRequest(request);
          //缓存大小,设为-1表示不受限制
          factory.setSizeThreshold(-1);
          //设置临时目录
          File ff = new File(tempDir);
          if(!ff.exists()) ff.mkdir();
          factory.setRepository(new File(tempDir));
          Iterator iter = items.iterator();
          while( iter.hasNext() ){
            FileItem item  = (FileItem)iter.next();
            //检查是一个普通的表单域还是File组件
            if( !item.isFormField() ){
              System.out.println("FileName:==>"+item.getName());
              System.out.println("FieldName:==>"+item.getFieldName());
              System.out.println("Size:==>"+item.getSize());
              
              temp = item.getName();
              p = temp.lastIndexOf("/");
              if(p == -1){
               p = temp.lastIndexOf("\\");
              }
              if( p > 0 ){
              this.clientFileName = temp.substring(p);
              this.clientFilePath =  temp.substring(0,p);
              }
              this.fileSize = item.getSize();
              
              
              //item.getName 返回的是完整的文件名,如:E:\\xx\11.doc
              //所以这里用一个fullFile来取文件名
             // File fullFile  = new File(item.getName());
              if(saveFilePath.endsWith("/")) temp = this.saveFilePath+this.saveFileName;
              else temp = this.saveFilePath+"/"+this.saveFileName;
              File uploadedFile = new File(temp);
              item.write(uploadedFile);
            }
          }
    }catch(Exception e){
    e.printStackTrace();
    throw new Exception("处理上传文件失败"+e.getMessage());
    }
    }

    }