[英]in uploading file null pointer exception near filePath
在這里,我正在使用struts2上傳文件,當我要上傳文件時,我在String filePath附近得到了空指針異常,anybbody plz可以幫我解決這個問題嗎.....我想找到我擁有的擴展名已上傳。
public class ImportAction extends ActionSupport implements ServletRequestAware {
public File getUploadfile() {
return uploadfile;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public void setUploadfile(File uploadfile) {
this.uploadfile = uploadfile;
}
private static final long serialVersionUID = 1L;
private LoginBean bean;
private File uploadfile;
public String getFileContentType() {
return fileContentType;
}
public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}
private String uploadFileName;
private String fileContentType;
private HttpServletRequest servletRequest;
RegisterDAO dao = new RegisterDAO();
public LoginBean getBean() {
return bean;
}
public void setBean(LoginBean bean) {
this.bean = bean;
}
/**
*
* @return
* @throws
* Exception
*/
@SuppressWarnings("unchecked")
@Override
public String execute() throws Exception {
try {
String filePath = servletRequest.getSession().getServletContext().getRealPath("/");
System.out.println("Server path:" + filePath);
File fileToCreate = new File(filePath, this.uploadFileName);
FileUtils.copyFile(this.uploadfile, fileToCreate);
} catch (Exception e) {
e.printStackTrace();
addActionError(e.getMessage());
return INPUT;
}
Model m = new Model();
String result = m.fileimport(uploadfile, uploadFileName);
if (result.equals(SUCCESS)) {
return SUCCESS;
} else {
addActionError(getText(result));
return "failure";
}
}
@Override
public void validate() {
System.out.println("inside validate of LA");
}
@Override
public void setServletRequest(HttpServletRequest servletRequest) {
this.servletRequest = servletRequest;
}
}
您的servletRequest
最有可能是null,因此會導致null指針異常。 您可能必須通過上下文將其初始化。
這是錯誤的:
private File uploadfile;
private String uploadFileName;
private String fileContentType;
應將其(與塞特犬一起)更改為:
private File uploadFile; /* Uppercase F */
private String uploadFileName;
private String uploadContentType; /* "upload" prefix */
在這里閱讀更多 。
字段名稱錯誤。 改成
private File uploadfile;
private String uploadfileFileName;
private String uploadfileContentType;
//getters & setters
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.