SpringMVC + Kindeditor时List items = upload.parseRequest(request);为空
来源:互联网 发布:约爱是什么软件 编辑:程序博客网 时间:2024/05/18 01:12
问题描述: 根据Kindeditor给的demo,结合SpringMVC使用时,
List items = upload.parseRequest(request);item始终为空。
@Controller@IfNeedLogin(needLogin = false)@RequestMapping("/kindeditor")public class KEUploadController extends BaseController {private Logger logger = LoggerFactory.getLogger(KEUploadController.class);@RequestMapping(value = "/upload", method = { RequestMethod.GET,RequestMethod.POST })public void upload(HttpServletRequest request, HttpServletResponse response)throws FileUploadException, IOException {logger.debug("Kindeditor上传文件");PrintWriter writer = response.getWriter();ServletContext servletContext = request.getSession().getServletContext();// 文件保存目录路径String savePath = servletContext.getRealPath("/") + "attached/";// 文件保存目录URLString saveUrl = request.getContextPath() + "/attached/";// 定义允许上传的文件扩展名HashMap<String, String> extMap = new HashMap<String, String>();extMap.put("image", "gif,jpg,jpeg,png,bmp");extMap.put("flash", "swf,flv");extMap.put("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb");extMap.put("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");// 最大文件大小long maxSize = 1000000;response.setContentType("text/html; charset=UTF-8");if (!ServletFileUpload.isMultipartContent(request)) {writer.println(getError("请选择文件。"));return;}// 检查目录File uploadDir = new File(savePath);if (!uploadDir.isDirectory()) {writer.println(getError("上传目录不存在。"));return;}// 检查目录写权限if (!uploadDir.canWrite()) {writer.println(getError("上传目录没有写权限。"));return;}String dirName = request.getParameter("dir");if (dirName == null) {dirName = "image";}if (!extMap.containsKey(dirName)) {writer.println(getError("目录名不正确。"));return;}// 创建文件夹savePath += dirName + "/";saveUrl += dirName + "/";File saveDirFile = new File(savePath);if (!saveDirFile.exists()) {saveDirFile.mkdirs();}SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");String ymd = sdf.format(new Date());savePath += ymd + "/";saveUrl += ymd + "/";File dirFile = new File(savePath);if (!dirFile.exists()) {dirFile.mkdirs();}FileItemFactory factory = new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(factory);upload.setHeaderEncoding("UTF-8");List items = upload.parseRequest(request);Iterator itr = items.iterator();while (itr.hasNext()) {FileItem item = (FileItem) itr.next();String fileName = item.getName();long fileSize = item.getSize();if (!item.isFormField()) {// 检查文件大小if (item.getSize() > maxSize) {writer.println(getError("上传文件大小超过限制。"));return;}// 检查扩展名String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();if (!Arrays.<String> asList(extMap.get(dirName).split(",")).contains(fileExt)) {writer.println(getError("上传文件扩展名是不允许的扩展名。\n只允许"+ extMap.get(dirName) + "格式。"));return;}SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");String newFileName = df.format(new Date()) + "_"+ new Random().nextInt(1000) + "." + fileExt;try {File uploadedFile = new File(savePath, newFileName);item.write(uploadedFile);} catch (Exception e) {writer.println(getError("上传文件失败。"));return;}JSONObject obj = new JSONObject();obj.put("error", 0);obj.put("url", saveUrl + newFileName);writer.println(obj.toJSONString());}}}private String getError(String message) {JSONObject obj = new JSONObject();obj.put("error", 1);obj.put("message", message);return obj.toJSONString();}}
解决方案1:
去掉配置文件:
<!-- 上传文件时需要做的配置 --> <!-- <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="5000000"></property> <property name="maxInMemorySize" value="4096" /> <property name="defaultEncoding" value="UTF-8" /> </bean> -->
0 1
- SpringMVC + Kindeditor时List items = upload.parseRequest(request);为空
- sturts2和kindeditor的文件上传,upload.parseRequest(request)得到的List为空
- upload.parseRequest(request)为空
- upload.parseRequest(request)为空
- List items=upload.parseRequest(request)错误的原因
- fileItems=upload.parseRequest(request);//request为空的解决方法
- 解决文件上传时upload.parseRequest(request)得到的List为空
- 使用bootstrap-fileinput的问题:上传时upload.parseRequest(request)得到的List为空
- Android+struts上传文件时upload.parseRequest(request)为空
- upload.parseRequest为空
- upload.parseRequest为空
- upload.parseRequest 为空
- upload.parseRequest为空
- kindeditor上传文件在SpringMVC中servletFileUpload.parseRequest(request)解析为空获取不到数据问题 .
- struts2框架下upload.parseRequest(request)为空解决方案
- upload.parseRequest(request) 结果为null
- upload.parseRequest(request) 结果为null解决方法
- struts2 parseRequest(request)为空替代方法
- Hibernate状态 (merge,attachDirty,attachClean)
- POJ3268之最短路
- C++ 模拟浏览器发送HTTP请求
- 求安卓九宫格密码的全部组合 深度优先遍历算法
- SyntaxError: Non-ASCII character
- SpringMVC + Kindeditor时List items = upload.parseRequest(request);为空
- swift UIButton使用
- JSON资料整理
- 数据挖掘 决策树算法 ID3 通俗演绎
- 两种方式创建单利
- 今天好像快下雨了,心情呢
- android:descendantFocusability用法简析
- Python读写文件
- VC调用动态链接库的错误