⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memberwebhandler.java

📁 解觖java技术中后台无法上传数给的情况
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
            String serverName = ParamUtil.getServerPath();//ParamUtil.getServer2(request);
            SendMailUtil.sendActivationCodeEmail(memberID, serverName);
        }
    }

    public void processUpdatePassword(GenericRequest request)
        throws BadInputException, ObjectNotFoundException, DatabaseException,
        AuthenticationException, AssertionException {

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureIsAuthenticated();

        int memberID = onlineUser.getMemberID();
        Locale locale = I18nUtil.getLocaleInRequest(request);

        // now check the password
        MyUtil.ensureCorrectCurrentPassword(request);
        /*
        // NOTE: that we dont use getParameterPassword here since it will not forward-compatible
        String memberOldPassword    = GenericParamUtil.getParameter(request, "MemberOldMatkhau", true);
        String oldEncodedPassword   = Encoder.getMD5_Base64(memberOldPassword);
        String currentPassword      = DAOFactory.getMemberDAO().getPassword(memberID);
        if (!currentPassword.equals(oldEncodedPassword)) {
            String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.wrong_password");
            throw new BadInputException(localizedMessage);
            //throw new BadInputException("You have typed the wrong current password, please try again.");
        }*/

        // column(s) to update
        String memberPassword1      = GenericParamUtil.getParameterPassword(request, "MemberMatkhau", 3, 0);
        String memberPassword2      = GenericParamUtil.getParameterPassword(request, "MemberMatkhauConfirm", 3, 0);
        if (!memberPassword1.equals(memberPassword2)) {
            String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.confirmed_password_is_not_match");
            throw new BadInputException(localizedMessage);
            //throw new BadInputException("Password and confirmed password are not the same, please try again.");
        }
        String memberPassword       = Encoder.getMD5_Base64(memberPassword1);

        String currentPassword      = DAOFactory.getMemberDAO().getPassword(memberID);
        if (currentPassword.equals(memberPassword)) {
            String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.old_password_and_new_password_cannot_equal");
            throw new BadInputException(localizedMessage);
            //throw new BadInputException("Old password and new password cannot equal, please try again.");
        }

        DAOFactory.getMemberDAO().updatePassword(memberID, // primary key
                               memberPassword);
    }

    public void prepareView_forCurrentMember(GenericRequest request)
        throws DatabaseException, ObjectNotFoundException, AuthenticationException, AssertionException {

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureIsAuthenticated();

        // always update the number of new private message count in this case
        onlineUser.updateNewMessageCount(true);

        int memberID = onlineUser.getMemberID();
        MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forViewCurrentMember(memberID);
        request.setAttribute("MemberBean", memberBean);
    }

    public void prepareEdit_forCurrentMember(GenericRequest request)
        throws DatabaseException, ObjectNotFoundException, AuthenticationException, AssertionException {

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureIsAuthenticated();

        int memberID = onlineUser.getMemberID();
        MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forEditCurrentMember(memberID);
        request.setAttribute("MemberBean", memberBean);
    }

    /*
     * @todo: use new method of WebHelper
     */
    public void prepareEditSignature(GenericRequest request)
        throws DatabaseException, ObjectNotFoundException, AuthenticationException, AssertionException {

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureIsAuthenticated();

        boolean isPreviewing = GenericParamUtil.getParameterBoolean(request, "preview");
        if (isPreviewing) {
            String signature = GenericParamUtil.getParameter(request, "MemberSignature");
            if (signature.length() > 250) {
                signature = signature.substring(0, 250);// ensure no more than 250 char (should check in javascript ??)
            }
            request.setAttribute("MemberSignature", signature);
        } else {
            int memberID = onlineUser.getMemberID();
            MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forViewCurrentMember(memberID);
            request.setAttribute("MemberSignature", memberBean.getMemberSignature());
        }
    }

    public void processUpdateSignature(GenericRequest request, GenericResponse response)
        throws ObjectNotFoundException, DatabaseException, AuthenticationException, AssertionException {

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureIsAuthenticated();

        MyUtil.saveVNTyperMode(request, response);

        int memberID = onlineUser.getMemberID();

        // column(s) to update
        String memberSignature = GenericParamUtil.getParameter(request, "MemberSignature");
        memberSignature = DisableHtmlTagFilter.filter(memberSignature);

        DAOFactory.getMemberDAO().updateSignature(memberID, // primary key
                                                  memberSignature);
    }

    /*
     * @todo: use new method of WebHelper
     */
    public void prepareEditAvatar(GenericRequest request)
        throws DatabaseException, ObjectNotFoundException, AuthenticationException, AssertionException {

        Locale locale = I18nUtil.getLocaleInRequest(request);
        if (MVNForumConfig.getEnableAvatar() == false) {
            String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.avatar_is_disabled");
            throw new AssertionException(localizedMessage);
            //throw new AssertionException("Cannot use avatar because AVATAR feature is disabled by administrator.");
        }

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureIsAuthenticated();
        permission.ensureCanUseAvatar();

        int memberID = onlineUser.getMemberID();
        MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forViewCurrentMember(memberID);
        request.setAttribute("MemberBean", memberBean);
    }

    /**
     * Change picture from our predefined picture
     * NOTE: this method will delete uploaded image (if any) of the member
     */
    public void updateMemberAvatar(GenericRequest request)
        throws ObjectNotFoundException, DatabaseException, AuthenticationException, AssertionException {

        if (MVNForumConfig.getEnableAvatar() == false) {
            throw new AssertionException("Cannot use avatar because AVATAR feature is disabled by administrator.");
        }

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureIsAuthenticated();
        permission.ensureCanUseAvatar();

        int memberID      = onlineUser.getMemberID();

        // first, we delete uploaded image if there is one
        /*StringBuffer bufferPicFile = new StringBuffer(128);
        bufferPicFile.append(MVNForumConfig.getAvatarDir());
        bufferPicFile.append(File.separatorChar).append(memberName).append(".jpg");
        String picFile =  bufferPicFile.toString();

        log.trace("Delete avatar = " + picFile);
        log.trace("String length = " + picFile.length());
        File file = new File(picFile);
        file.delete();// we dont need to check the returned value
        */      
        BinaryStorage binaryStorage = ManagerFactory.getBinaryStorage();
        try {
            binaryStorage.deleteData(BinaryStorage.CATEGORY_AVATAR, String.valueOf(memberID), null);
        } catch (IOException e) {
            log.error("Cannot delete avatar.", e);
        }
        
        // then we update the database with new one
        String memberPicture = GenericParamUtil.getParameter(request, "MemberAvatar");
        DAOFactory.getMemberDAO().updateAvatar(memberID, memberPicture);
    }

    /**
     * upload user own avatar
     */
    public void uploadAvatar(javax.servlet.ServletConfig config, GenericRequest request)
        throws BadInputException, AuthenticationException, IOException,
        AssertionException, ObjectNotFoundException, DatabaseException {
        
        Locale locale = I18nUtil.getLocaleInRequest(request);

        if (MVNForumConfig.getEnableAvatar() == false) {
            String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.avatar_is_disabled");
            throw new AssertionException(localizedMessage);
            //throw new AssertionException("Cannot use avatar because AVATAR feature is disabled by administrator.");
        }

        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureIsAuthenticated();
        permission.ensureCanUseAvatar();

        int memberID      = onlineUser.getMemberID();
        String memberName = onlineUser.getMemberName();

        int sizeMax = 60000; // 60KB
        int sizeThreshold = 100000;// max memory used = 100K (more than needed)

        List fileItems;
        try {
            FileUploadParser uploadParser = FileUploadParserFactory.getFileUploadParser();
            fileItems = uploadParser.parseRequest(request, sizeMax, sizeThreshold, null, "UTF-8");
        } catch (FileUploadException ex) {
            log.error("Cannot upload", ex);
            String localizedMessage = MVNForumResourceBundle.getString(locale, "java.io.IOException.cannot_upload", new Object[] {ex.getMessage()});
            throw new IOException(localizedMessage);
            //throw new IOException("Cannot upload. Detailed reason: " + ex.getMessage());
        }

        // make sure only one file upload
        int fileUploadCount = 0;
        FileItem myFile = null;
        for ( int i = 0 ; i < fileItems.size(); i++ ) {
            myFile = (FileItem)fileItems.get(i);
            if (!myFile.isFormField()) {
                break;
                //maybe we don't care about throws an AssertionException so comment this
                //fileUploadCount++;
            }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -