SSM框架下上传表单中的文件至服务器端,后台显示表单为空

eknown 2017-11-21 09:42:28
在SSM框架下做一个项目,目前需要实现一个上传文件的功能,因为之前写过类似的(而且是成功的),所以这一次也用了类似的方法,但是很奇怪的是新的项目里面上传文件后,后台的Controller里面解析request里面的数据,发现是空的。。。
想请熟悉这一块的朋友能帮我看看究竟是哪里的问题。
下面的我的代码。
首先是前端HTML的部分:
 <h3>选择考试课程</h3>
<form id="questionFileForm" method="POST" class="form-horizontal" enctype="multipart/form-data" action="exam/uploadQuestions.html">
<input name="testInput" type="text" value="test element...." >
导入试题文件:<input type="file" name="uploadFile">
<input type="submit" value="上传">
</form>


下面是后端java中的Controller部分:
@RequestMapping(value="/uploadQuestions")
public ModelAndView uploadQuestions(HttpServletRequest request, HttpServletResponse response) throws IOException {
ModelAndView view = new ModelAndView("root/message");
System.out.println("开始上传文件至服务器");

DiskFileUpload diskFileUpload = new DiskFileUpload();//这个已经被废弃了,之后改成菜鸟教程的示例中的做法
try {
List<FileItem> list = diskFileUpload.parseRequest(request);//解析表单中每一个字段的数据,
//包装成独立的FileItem对象并且以List方式返回
System.out.println("准备遍历所有的FileItem...下面是表单field的name");
System.out.println(list.size());
for(FileItem i:list) {
System.out.println(i.getFieldName());
}

//下面处理所有的FileItem
for(FileItem i:list) {
if(i.isFormField()) {
System.out.println("这是普通表单字段:"+i.getFieldName()+";"+i.getName());
}else {
System.out.println("这是文件表单字段:"+i.getFieldName()+";"+i.getName()+"; 准备进行保存");
//File remoteFile = new File(new String(i.getName().getBytes(),"UTF-8"));//获得要上传的文件的引用
File remoteFile = new File(i.getName());//不使用转换编码格式的话就可以传递文件名为中文的文件了
System.out.println("客户端文件位置:"+remoteFile.getAbsolutePath());
System.out.println("path:"+remoteFile.getPath()+"; name:"+remoteFile.getName());


//下面指定要把上面的remoteFile保存为?
File saveFile = new File(new String(remoteFile.getName()));
saveFile.createNewFile();

//下面把remoteFile的内容输出到saveFile
InputStream ins = i.getInputStream();//获得这个fileItem的输入流
OutputStream ous = new FileOutputStream(saveFile);//获得saveFile的输出流

byte[] buffer = new byte[1024];
int len=0;
while( (len=ins.read(buffer)) > -1) {
ous.write(buffer, 0, len);
System.out.println("文件已经保存到:"+saveFile.getAbsolutePath());
}
ous.close();
ins.close();

}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


return view;
}


感谢!
...全文
328 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
eknown 2017-11-23
  • 打赏
  • 举报
回复
没人嘛。。。。
熟悉项目开发过程SSM框架、JSP、Mysql使用,知道各技术之间的如何衔接; 该课程主要涉及到的技术有:  项目涉及的技术:  1、前端:jsp、css、javascript、jQuery(js框架)、bootstrap框架 2、后台:Spring MVC、Spring、Mybatis框架、javaMail进行邮件发送、jstl 、jstl自定义分页标签、代码生成器等 3、数据库:Mysql 4、服务器:Tomcat项目开发涉及的功能: 1、项目以及数据库搭建2、用户登录、退出3、用户注册、邮件发送4、首页商品信息页面搭建以及查询功能实现5、商品明细查看,商品修改,商品下架7、商品类型管理8、订单管理9、代码机器人使用等等其他实战项目:java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.csdn.net/course/detail/25771 java项目之oa办公管理系统(java毕业设计)https://edu.csdn.net/course/detail/23008 java项目之hrm人事管理项目(java毕业设计)https://edu.csdn.net/course/detail/23007 JavaWeb项目实战之点餐系统前台https://edu.csdn.net/course/detail/20543 JavaWeb项目实战之点餐系统后台https://edu.csdn.net/course/detail/19572 JavaWeb项目实战之宿舍管理系统(Java毕业设计含源码)https://edu.csdn.net/course/detail/26721 JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.csdn.net/course/detail/20610 java项目实战之电子商城后台(java毕业设计SSM框架项目)https://edu.csdn.net/course/detail/25770 java美妆商城项目|在线购书系统(java毕业设计项目ssm版)https://edu.csdn.net/course/detail/23989 系统学习课程:JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.csdn.net/course/detail/26941 Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.csdn.net/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧