当我使用 FormPanel、FileUploadField 和 Spring 时,我在获取文件对象时遇到问题。
这是我所拥有的:
我将 CommonsMultipartResolver bean 添加到我的 Spring Context 文件中:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="100000"/>
</bean>
我有一个带有常规 getter 和 setter 的模型类:
pulic class UploadItem{
private String filename;
private CommonsMultipartFile fileData;
....
getters/setters
....
}
我的控制器类:
@Controller
@RequestMapping("/Foo")
public class ThingController extends BaseController implements ServlerContextAware{
....
@RequestMapping(value = "/bar", method = RequestMethod.POST)
public @ResponseBody
String createFile(UploadItem item, BindingResults results){
String orgFile = item.getFileData().getOriginalFilename();
return orgFile;
}
我正在使用 UiBinding 创建表单字段,但我正在调用 fileupload 字段和 formpanel 以在代码中添加其他方法。
我有一个提交按钮,调用:
form.submit();
我的构造函数负责其他表单要求:
form.setMethod(Method.POST);
form.setEncoding(Encoding.MULTIPART);
form.setAction("http://url.com/foo/bar");
form.addSubmitCompleteHandler(new SubmitCompleteHandler(){
@Override
public void onSubmitComplete(SubmitCompleteEvent event){
String results = event.getResults();
Info.display("Upload Response", results);
}
});
当我运行代码时,我在 item.getFileData().getOriginalFilename(); 上得到一个 nullpointerexecption;
我不知道问题是什么。