cuixf2000
2014-09-04 15:13:05
等
关于springmvc文件上传的问题
我写了一个程序,在做文件上传时经常报Processing of multipart/form-data request failed. Stream ended unexpectedly,在网上搜了好久没找到合适的答案,求大神指点指点。
程序源码为:
public void processUploadPost(ModelMap modelMap, HttpServletRequest request, HttpServletResponse response, @RequestParam MultipartFile upload) throws FileUploadException { // 判断提交的请求是否包含文件 // boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (upload.isEmpty()) { return; } // 获取目录 File floder = buildFolder(request); if (null == floder) { return; } try { response.setContentType("text/html; charset=UTF-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); // 上传文件的返回地址 String fileUrl = ""; MultipartFile file = upload; String fileClientName = getFileName(file.getOriginalFilename()); String fileFix = upload.getContentType(); if (!StringUtils.equalsIgnoreCase(fileFix, "image/jpg") && !StringUtils.equalsIgnoreCase(fileFix, "image/jpeg") && !StringUtils.equalsIgnoreCase(fileFix, "image/bmp") && !StringUtils.equalsIgnoreCase(fileFix, "image/gif") && !StringUtils.equalsIgnoreCase(fileFix, "image/png")) { logger.error("上传文件的格式错误=" + fileFix); return; } String MD5Name = MD5Util.getMD5String(upload.getBytes()); String typename = upload.getContentType().split("/")[1]; String fileName = MD5Name+"."+typename; if (logger.isInfoEnabled()) { logger.info("开始上传文件:" + fileName); } // 为了客户端已经设置好了图片名称在服务器继续能够明确识别,这里不改名称 File newfile = new File(floder, fileName); file.transferTo(newfile); if (logger.isInfoEnabled()) { logger.info("上传文件结束,新名称:" + fileClientName + ".floder:" + newfile.getPath()); } // 组装返回url,以便于ckeditor定位图片 String path = request.getContextPath(); fileUrl = path+FOR_FREEMARKER_LOAD_DIR + FILE_UPLOAD_DIR + FILE_UPLOAD_SUB_IMG_DIR + "/"+floder.getName()+"/"+ newfile.getName(); String callback = request.getParameter("CKEditorFuncNum"); out.println("<script type='text/javascript'> window.parent.CKEDITOR.tools.callFunction('" + callback + "','" + fileUrl + "')</script>"); request.setAttribute("url", fileUrl); request.setAttribute("callback", callback); out.flush(); out.close(); } catch (IOException e) { logger.error("上传文件发生异常!", e); } catch (Exception e) { logger.error("上传文件发生异常!", e); } return; }
评论
所有回答列表(3)
- 等 最代码怎么获取牛币啊?
- 完 谁来告诉我最代码上线的时间,答对者给5牛币,先来先得
- 等 牛友们,大家好,你们做程序员多久了?现在还好吗?
- 完 在微信打开的页面里进行app下载
- 等 最代码2014年欢乐聚声会
- 完 mysql如何查询表数据并且对3个字段降序的SQL?
- 完 最代码牛币机制改革
- 完 成功的在bae上使用了自定义运行环境 jetty+nginx的组合,大家对jetty+nginx优化有哪些心得?
- 完 进来分享一下各位牛牛是如何加入最代码大家庭的?
- 等 为什么java BufferedImage类处理大图直接抛出内存溢出的异常?
- 等 最代码是否开发手机app客户端?
- 完 java程序员学习哪些java的技术?java有哪些框架?都能做哪方面的开发?
- 等 php格式网页文件怎么运行?
- 等 Java volatile值获取的问题
- 等 前端vue,拦截了登录后台后,返回的token,requests拦截token,但是发送请求的时候,就出现跨越异常
- 等 大专本科计算机科班怎么找到Java工作?
- 等 eclipse怎么把三个java swing游戏项目合成一个项目?
- 完 伙伴们,大家都有什么好的解压方式么,分享一下~
- 完 三四线城市,6、7k,运维工作,索然无味,想去辞职上培训,各位牛牛有什么建议嘛
- 等 jsp页面输入中文变成问号
- 等 JPA在线上运行一段时间后报错Caused by: java.lang.IncompatibleClassChangeError: null
- 等 PHP 这个规则用preg_match_all怎么写
- 等 大佬们,有没有知道Alfresco如何配置LDAP登录呢?
- 等 php的install目录是框架带的吗?
相关问答
- 完 关于springmvc下载大的文件(2G)爆出 溢出 请求帮助
- 等 部署maven springmvc项目抛出异常java.lang.IllegalStateException: ApplicationEventMulticaster not initialized?
- 等 springmvc + mybatis-spring-1.2.2 启动报错
- 完 Springmvc用户注销退出登录功能疑问
- 等 springmvc怎样整合才能把事务放在控制层?求大神指教!!!
- 等 Springmvc开发中java bean对象自动初始化失败求解
- 等 maven springMVC调用数据库实现用户登录,列表显示代码
- 完 springmvc从3.1.4.RELEASE升级到4.1.1.RELEASE版本后,ajax请求返回json时为什么报错?
- 等 SpringMVC中上传文件MultipartFile对象调用Inputstream方法失败问题
- 完 spring MVC中使用国际化为什么是乱码?
- 等 spring MVC中的@service和@autowired有什么联系么?
- 完 为什么springmvc json在火狐浏览器下显示正常,而IE浏览器乱码呢?
最近浏览
zhangshuang1
2020年4月10日
暂无贡献等级
yuyueyanagava LV1
2020年2月23日
哈喽你 LV4
2019年6月12日
244054069 LV2
2019年1月11日
那一抹阳光 LV2
2018年12月10日
玫瑰巷的乞者 LV15
2018年12月6日
stone_123456
2018年10月29日
暂无贡献等级
foxmail10001 LV1
2018年8月6日
huang369262674 LV1
2018年5月16日
zyh轻轻
2017年5月31日
暂无贡献等级