簡體   English   中英

在文件路徑附近上傳文件空指針異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM