zoukankan      html  css  js  c++  java
  • SpringMVC Ueditor1.4.3 未找到上传数据

    ueditor自事的fileupload组件与spring的有冲突。将那个类BinaryUploader 重写就可以了

                return storageState;
            } catch (FileUploadException e) {
                return new BaseState(false, AppInfo.PARSE_REQUEST_ERROR);
            } catch (IOException e) {
            }
            return new BaseState(false, AppInfo.IO_ERROR);
        }*/
        
        public static final State save(HttpServletRequest request,
                Map<String, Object> conf) {

            try {
                MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
                MultipartFile multipartFile = multipartRequest.getFile(conf.get("fieldName").toString());

                String savePath = (String) conf.get("savePath");
                String originFileName = multipartFile.getOriginalFilename();
                String suffix = FileType.getSuffixByFilename(originFileName);

                originFileName = originFileName.substring(0,originFileName.length() - suffix.length());
                savePath = savePath + suffix;

                long maxSize = ((Long) conf.get("maxSize")).longValue();

                if (!validType(suffix, (String[]) conf.get("allowFiles"))) {
                    return new BaseState(false, AppInfo.NOT_ALLOW_FILE_TYPE);
                }
                /***********/
                //自定义
                savePath = PathFormat.parse(savePath, originFileName);
               
                String [] savePathBySplit_temp = savePath.split("/");
                String temp = "";
                String fileName = savePathBySplit_temp[savePathBySplit_temp.length-1];
                for(int i = 2;i < savePathBySplit_temp.length-1; i++){
                    if(i!=savePathBySplit_temp.length-2){
                        temp+=savePathBySplit_temp[i]+"/";
                    }else{
                        temp+=savePathBySplit_temp[i];
                    }
                }
                String pathTemp = request.getSession().getServletContext().getRealPath(temp);
                System.out.println(pathTemp+","+fileName);
                System.out.println(new File(pathTemp).exists());
                File targetFile = new File(pathTemp);
                if(!targetFile.exists()){  
                    targetFile.mkdirs();  
                }
                System.out.println(new File(pathTemp).exists());
                /************/
                //State storageState = StorageManager.saveFileByInputStream(multipartFile.getInputStream(),savePath, maxSize);
                State storageState = StorageManager.saveFileByInputStream(multipartFile.getInputStream(),pathTemp+"/"+fileName, maxSize);

                if (storageState.isSuccess()) {
                    storageState.putInfo("url", PathFormat.format(savePath));
                    storageState.putInfo("type", suffix);
                    storageState.putInfo("original", originFileName + suffix);
                }

                return storageState;

            }catch (Exception e) {
                e.printStackTrace();
                System.out.println(e.getMessage());
            }
            return new BaseState(false, AppInfo.IO_ERROR);
        }
  • 相关阅读:
    1260. [CQOI2007]涂色【区间DP】
    2733. [HNOI2012]永无乡【平衡树-splay】
    1087. [SCOI2005]互不侵犯King【状压DP】
    1026. [SCOI2009]windy数【数位DP】
    1066. [SCOI2007]蜥蜴【最大流】
    luogu P2776 [SDOI2007]小组队列
    cogs 717. [SDOI2007] 小组队列
    luogu P1160 队列安排
    2612. [FHZOI 2017]被窃的项链
    codevs 3336 电话网络 (2)
  • 原文地址:https://www.cnblogs.com/vincent4code/p/5809858.html
Copyright © 2011-2022 走看看