1

我试图避免在我上传的文件中出现一些命名冲突(我使用了 com.oreilly.servlet.MultipartRequest )。

此时我的构造函数如下所示:

MultipartRequest multi = new MultipartRequest(request, uploadPath);

我想用 FileRenamePolicy 实现构造函数,以便使用从表单中获取的值重命名我的文件(类似于 request.getParameterValue("title");

我想我应该使用下面的构造函数?但我不知道如何设置“策略”参数

 MultipartRequest(javax.servlet.http.HttpServletRequest request,
                  java.lang.String saveDirectory, 
                  int maxPostSize, 
                  java.lang.String encoding, 
                  FileRenamePolicy policy) 

你有什么建议吗?谢谢!

4

1 回答 1

2

您应该实现一个自定义 FileRenamePolicy,它可以为您File附加title发送的请求。

这是您要查找的内容:

 private static class MyTitleRenamePolicy extends FileRenamePolicy {
      java.io.File rename(java.io.File f) {
       return new File(f.getParentFile(), 
            rename.getName() + "_"+ request.getParameter("title"));
      }
  }

 new MultipartRequest(request, saveDirectory, maxPostSize, encoding, 
                        new MyTitleRenamePolicy(request));
于 2012-06-22T10:17:56.450 回答