MultipartServletWebRequest.getFiles() returns 空地图
MultipartServletWebRequest.getFiles() returns empty map
在 Wicket 1.5 中,我们以这种方式处理上传的文件:
public UploadValuePage(PageParameters parameters) {
super(parameters);
Bytes maxSize = Bytes.kilobytes(20000);
ServletWebRequest swr = (ServletWebRequest) getRequest();
MultipartServletWebRequest mswr = swr.newMultipartWebRequest(maxSize, "uploadId");
FileItem item = mswr.getFile("fileInput").get(0);
// process item
}
但是在迁移到 Wicket 6 之后地图中没有文件。为什么?
在网上搜索后我发现了这个:
http://wicketinaction.com/2012/11/uploading-files-to-wicket-iresource/
所以我们需要额外的一行,因为 Wicket 6.18.0:
public UploadValuePage(PageParameters parameters) {
super(parameters);
Bytes maxSize = Bytes.kilobytes(20000);
ServletWebRequest swr = (ServletWebRequest) getRequest();
MultipartServletWebRequest mswr = swr.newMultipartWebRequest(maxSize, "uploadId");
mswr.parseFileParts(); // since Wicket 6.18.0
FileItem item = mswr.getFile("fileInput").get(0);
// process item
}
在 Wicket 1.5 中,我们以这种方式处理上传的文件:
public UploadValuePage(PageParameters parameters) {
super(parameters);
Bytes maxSize = Bytes.kilobytes(20000);
ServletWebRequest swr = (ServletWebRequest) getRequest();
MultipartServletWebRequest mswr = swr.newMultipartWebRequest(maxSize, "uploadId");
FileItem item = mswr.getFile("fileInput").get(0);
// process item
}
但是在迁移到 Wicket 6 之后地图中没有文件。为什么?
在网上搜索后我发现了这个:
http://wicketinaction.com/2012/11/uploading-files-to-wicket-iresource/
所以我们需要额外的一行,因为 Wicket 6.18.0:
public UploadValuePage(PageParameters parameters) {
super(parameters);
Bytes maxSize = Bytes.kilobytes(20000);
ServletWebRequest swr = (ServletWebRequest) getRequest();
MultipartServletWebRequest mswr = swr.newMultipartWebRequest(maxSize, "uploadId");
mswr.parseFileParts(); // since Wicket 6.18.0
FileItem item = mswr.getFile("fileInput").get(0);
// process item
}