gulang76 2008-10-14 15:39
浏览 331
已采纳

使用commons-fileupload.jar的几个问题.

在使用commons-fileupload.jar包进行文件的上传时的几个问题.

是使用DiskFileUpload好还是使用ServletFileupload好?

这两个类有什么区别?

另外用ServletFileupload上传文件时,如何限制文件的大小,限制上传文件的类型?

如果要对上传文件进行重命名,怎么重命名?

看了那些文档,但还不是很明白,希望高手多指点....
问题补充:
现在最主要的问题是如何对上传的文件进行重命名?

  • 写回答

1条回答 默认 最新

  • Bruce_X 2008-10-14 15:49
    关注

    ServletFileUpload ,之前的版本好像是DiskFileUpload,这个已经被Deprecated了,
    [code="java"]DiskFileItemFactory factory=new DiskFileItemFactory();
    ServletFileUpload fu=new ServletFileUpload(factory);
    //上传最大200MB
    fu.setSizeMax(200*1024*1024);
    //fu.setHeaderEncoding("UTF-8");
    factory.setSizeThreshold(1024*1024);
    //超过内存阀值就保存到temp目录,这里设为系统缓存路径
    factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
    try {
    List fileItem = fu.parseRequest(request);

            for(Iterator iter=fileItem.iterator();iter.hasNext();){
                FileItem it=(FileItem)iter.next();
                if(!it.isFormField()){
    
                    String fileName=it.getName();
                    System.out.println(fileName);
                    File f=new File(folder+fileName);
                    it.write(f);
                }else{
                    if(it.getFieldName().equals("folder"))
                        folder=it.getString();
    
                }
    
            }
            } catch (FileUploadException e) {
                // TODO Auto-generated catch block
                //e.printStackTrace();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                //e.printStackTrace();
            }[/code]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥200 求能开发抖音自动回复卡片的软件
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云
  • ¥15 C# 调用Bartender打印机打印
  • ¥15 我这个代码哪里有问题 acm 平台上显示错误 90%,我自己运行好像没什么问题
  • ¥50 C#编程中使用printDocument类实现文字排版打印问题
  • ¥15 找会编程的帅哥美女 可以用MATLAB里面的simulink编程,用Keil5编也可以。