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);
        }
  • 相关阅读:
    洛谷1280 尼克的任务
    洛谷1140 相似基因
    洛谷1133 教主的花园
    洛谷1130 红牌
    洛谷1122 最大子树和
    洛谷1103 书本整理
    洛谷1077 摆花
    【数学】数学知识习题小结(模板)
    python中的深拷贝和浅拷贝(面试题二)
    python中的深拷贝和浅拷贝(面试题)
  • 原文地址:https://www.cnblogs.com/vincent4code/p/5809858.html
Copyright © 2011-2022 走看看