头像上传-服务器端

/**
     * 文件上传接口
     *
     *
     *
     *
     * @param request
     * @param response
     * @return
     */
    @SuppressWarnings({ "rawtypes", "unused", "deprecation" })
    @RequestMapping("/uploadPic")
    @ResponseBody
    public String uploadPicFile(HttpServletRequest request,
            HttpServletResponse response) {
        ResponseObject result = new ResponseObject();
        String time = "";
        String sign = "";
        // 调试开关,等于1时不校验签名与超时
        String isdebug = "";
        String accountNo = "";
        String picRootPath = "";
        String relativePicPath="";
        String fileName = "";//
//        fileName=request.getParameter("fileName");
        String dateStr=DateHelper.getDateTimeByyyyyMMdd(new Date());
        // String fileExt = "";
        byte[] fileContent = null;
        String path="";
        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (isMultipart) {
            // 构造一个文件上传处理对象
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            upload.setHeaderEncoding("UTF-8");
            Iterator items;
            try {
                // 解析表单中提交的所有文件内容
                items = upload.parseRequest(request).iterator();
                while (items.hasNext()) {
                    FileItem item = (FileItem) items.next();
                    if (!item.isFormField()) {
                        // 取出上传文件的文件名称
                        String name = item.getName();
                        if(name==null){
                            return JsonHelper.toJson(new ResponseObject(CodeObject.PARAMETER_ERR.getCode(), CodeObject.PARAMETER_ERR.getName(), null));
                        }
                        if(!name.matches(Constant.IS_IMG)){
                            return JsonHelper.toJson(new ResponseObject(CodeObject.NOT_SOPORT_IMG.getCode(), CodeObject.NOT_SOPORT_IMG.getName(), null));
                        }
//                        logger.info("filename=========" + name);
                        // name=name.get
                        // 取得上传文件以后的存储路径
                        /*
                         * fileName = name.substring(name.lastIndexOf('\\') + 1,
                         * name.length()); int fileNameIndex =
                         * fileName.lastIndexOf(".");
                         *
                         * if (fileNameIndex != -1) { fileExt =
                         * fileName.substring(fileNameIndex, fileName.length());
                         * fileName = fileName.substring(0, fileNameIndex); }
                         */
                        fileContent = item.get();

                    } else {
                        if (item != null && item.getFieldName() != null&& item.getFieldName().equals("fileName")) {
                            fileName = item.getString();
                        }
                    }
                    // 上传文件以后的存储路径
                    /*
                     * String fileUploadFolder = ConfigHelper
                     * .getConfigValue("fileUploadFolder"); if (fileUploadFolder
                     * == null || fileUploadFolder.equals("")) {
                     * fileUploadFolder = request.getRealPath("/"); }
                     */
                    // BASE64Encoder encoder = new BASE64Encoder();
                    // fileName = encoder.encode(fileName.getBytes());

                }
                picRootPath = SystemConfigHelper.getUploadFilePathConfigValue();
//                String loginfo="uid=" + accountNo + ","+"fileName=" + fileName + ", time" + time;
//                ResultProxy checkProxy = CheckHelper.checkParams(fileUploadParams);
//                if (!CheckHelper.isSuccess(checkProxy)) {
//                    result = Constants.setResultCodeAndInfoObj(result,
//                            Constants.ERRORCODE_PARAM_ERROR,
//                            checkProxy.getInfo());
//                    return JsonHelper.toJson(result);
//                }
                if(fileName==null){
                    return JsonHelper.toJson(new ResponseObject(CodeObject.NOT_SOPORT_IMG.getCode(), CodeObject.NOT_SOPORT_IMG.getName(), null));
                }
                fileName = URLEncoder.encode(fileName);
                // 校验上传目录是存在,如果不存在,创建目录
//                relativePicPath=accountNo+"/";
                String picDicPath=picRootPath+Constant.BACKSLASH+dateStr+Constant.BACKSLASH;
                File uploaderDirectory = new File(picDicPath);
                if (!uploaderDirectory.exists()) {
                    uploaderDirectory.mkdirs();
                }
                fileName=System.currentTimeMillis()+fileName;
//                String paths = filePath + File.separator + fileName + "_" +
                relativePicPath=Constant.BACKSLASH+dateStr+Constant.BACKSLASH+ fileName;//返回客户端
                path =picDicPath +fileName;;
                MyLoggerManager.printInfo("file upload path " + path);
                System.out.println(path);
                // 上传文件
                File uploaderFile = new File(path);
                // item.write(uploaderFile);
                FileOutputStream fw = new FileOutputStream(uploaderFile);
                fw.write(fileContent);
                fw.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
//                result = Constants.setResultCodeAndMsg(result,
//                        Constants.ERRORCODE_UPLOADFILE_ERROR);
                return JsonHelper.toJson(result);
            } catch (Exception e) {
                e.printStackTrace();
//                result = Constants.setResultCodeAndMsg(result,
//                        Constants.ERRORCODE_UPLOADFILE_ERROR);
                return JsonHelper.toJson(result);
            }
        }
//        result = Constants.setResultCodeAndMsg(result, Constants.OK);
        result=new ResponseObject(CodeObject.SUCESS.getCode(),CodeObject.SUCESS.getName(), relativePicPath);
        return JsonHelper.toJson(result);
    }

猜你喜欢

转载自terry0501.iteye.com/blog/2172602