我试图避免在我上传的文件中出现一些命名冲突(我使用过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)
你有什么建议吗? 谢谢!
答案 0 :(得分: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));
。
以下是您要找的内容:
{{1}}