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目录是框架带的吗?
相关问答
- 完 spring MVC中使用国际化为什么是乱码?
- 等 spring MVC中的@service和@autowired有什么联系么?
- 等 spring mvc项目源码实例代码哪位一行一行解释一下?
- 等 spring MVC开发后台权限admin登录正常,其他权限登录为什么抛出异常?
- 完 spring mvc框架开发java web项目如何学习才能快速入门?
- 完 spring mvc整合mybatis后配置中自动扫描包问题
- 完 spring mvc为什么文件下载失败?
- 等 Spring MVC如何实现InternalResourceViewResolver多视图配置?
- 等 spring mvc开发关于handlermapping和handlerAdapter的问题
- 完 学习spring MVC为什么抛出nested exception is java.lang.NoClassDefFoundError的异常?
- 等 Spring MVC是怎样架构的?
- 完 java初学小白 想了解一下spring MVC工作机制
最近浏览
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日
暂无贡献等级




