package com.tu.controller;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.io.FileUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import com.tu.service.UserService;
@Controller
public class UserController {
@Resource
private UserService userService;
@RequestMapping("/home")
private ModelAndView init(HttpServletRequest request){
ModelAndView mv = new ModelAndView();
List<Map<String,Object>> user = userService.getAll();
mv.addObject("user",user);
mv.setViewName("index");
return mv;
}
@RequestMapping("/index/load")
private @ResponseBody List<Map<String,Object>> requestJson(@RequestBody Map<String, Object> map){
List<Map<String,Object>> list = userService.getAll();
return list;
}
@RequestMapping("/register")
private @ResponseBody Map<String,Object> register(@RequestBody Map<String, Object> map){
return userService.addUser(map);
}
@RequestMapping("/deleteuser")
private @ResponseBody Map<String,Object> delete(@RequestBody Map<String, Object> map){
int num = userService.delete(map);
Map<String, Object> state = new HashMap<String, Object>();
state.put("result", num);
return state;
}
@RequestMapping("/update")
private @ResponseBody Map<String,Object> update(@RequestBody Map<String, Object> map){
int num = userService.update(map);
Map<String, Object> state = new HashMap<String, Object>();
state.put("result", num);
return state;
}
@RequestMapping("upload")
public ModelAndView uploadFile(@RequestParam MultipartFile[] uploadFile,HttpSession session){
//获取上传文件名
for (int i = 0; i < uploadFile.length; i++) {
String filename = uploadFile[i].getOriginalFilename();
//获取WebRoot下的images文件夹的绝对路径作为前半部分路径
String leftPath = session.getServletContext().getRealPath("/images");
//将文件的前半部分路径与文件名拼接
File file = new File(leftPath, filename);
try {
uploadFile[i].transferTo(file);
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
}
ModelAndView mv = new ModelAndView();
mv.setViewName("index");
return mv;
}
@RequestMapping("/download")
public ResponseEntity<byte[]> downFile() throws IOException{
File file = new File("C:\\Users\\TU\\workspace\\.metadata\\.plugins\\org.eclipse.wst.server.core\\tmp0\\wtpwebapps\\SSM_beta1\\images\\456.png");
HttpHeaders headers = new HttpHeaders();
String filename = new String("helloWorld.png".getBytes("UTF-8"),"iso-8859-1");
//设置文件名
headers.setContentDispositionFormData("attachment", filename);
//以文件下载的形式来输出流
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),
headers, HttpStatus.CREATED);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
在SSM基础上完成了文件上传与下载
共67个文件
jar:32个
xml:8个
java:5个
3星 · 超过75%的资源 需积分: 31 66 下载量 118 浏览量
2017-07-14
13:44:42
上传
评论 1
收藏 11.6MB ZIP 举报
温馨提示
在SSM基础上完成了文件上传与下载,如果对ssm框架搭建不清楚的同学,可以看这篇文章 http://blog.csdn.net/qq_31962349/article/details/74905584
资源推荐
资源详情
资源评论
收起资源包目录
ssm框架下文件上传与下载.zip (67个子文件)
SSM_beta1
config
spring-mybatis.xml 3KB
spring-mvc.xml 3KB
jdbc.properties 118B
log4j.properties 662B
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 345B
org.eclipse.wst.common.component 563B
org.eclipse.wst.jsdt.ui.superType.container 49B
.jsdtscope 564B
org.eclipse.jdt.core.prefs 364B
src
com
tu
dao
UserDao.java 350B
impl
UserDaoImpl.java 1000B
UserMapper.xml 1KB
controller
UserController.java 4KB
service
UserService.java 407B
impl
UserServiceImpl.java 1KB
.project 1KB
WebRoot
images
META-INF
MANIFEST.MF 39B
WEB-INF
web.xml 2KB
jsps
index.jsp 3KB
classes
spring-mybatis.xml 3KB
spring-mvc.xml 3KB
jdbc.properties 118B
log4j.properties 662B
com
tu
dao
UserDao.class 549B
impl
UserDaoImpl.class 2KB
UserMapper.xml 1KB
controller
UserController.class 6KB
service
UserService.class 790B
impl
UserServiceImpl.class 2KB
lib
log4j-core-2.0-rc1.jar 686KB
jackson-mapper-asl-1.9.13.jar 762KB
com.springsource.org.apache.commons.logging-1.1.1.jar 60KB
spring-core-3.2.0.RELEASE.jar 843KB
mybatis-3.2.7.jar 696KB
asm-3.3.1.jar 43KB
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar 1.57MB
spring-expression-3.2.0.RELEASE.jar 189KB
spring-web-3.2.0.RELEASE.jar 610KB
mysql-connector-java-5.1.26-bin.jar 836KB
spring-context-3.2.0.RELEASE.jar 834KB
commons-logging-1.1.1.jar 59KB
com.springsource.org.aopalliance-1.0.0.jar 5KB
spring-jdbc-3.2.0.RELEASE.jar 392KB
com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar 603KB
spring-webmvc-3.2.0.RELEASE.jar 621KB
slf4j-log4j12-1.7.5.jar 9KB
javassist-3.17.1-GA.jar 695KB
cglib-2.2.2.jar 280KB
jstl-1.2.jar 405KB
spring-aop-3.2.0.RELEASE.jar 327KB
spring-tx-3.2.0.RELEASE.jar 235KB
mybatis-spring-1.2.2.jar 48KB
spring-orm-3.2.0.RELEASE.jar 383KB
spring-beans-3.2.0.RELEASE.jar 591KB
jackson-core-asl-1.9.13.jar 227KB
spring-aspects-3.2.0.RELEASE.jar 68KB
log4j-1.2.17.jar 478KB
log4j-api-2.0-rc1.jar 113KB
com.springsource.org.apache.commons.io-1.4.0.jar 108KB
com.springsource.org.apache.commons.fileupload-1.2.0.jar 53KB
slf4j-api-1.7.5.jar 25KB
js
echarts.min.js 629KB
ajaxfileupload.js 8KB
jquery-3.2.1.min.js 85KB
index.jsp 369B
.classpath 974B
共 67 条
- 1
资源评论
- rcrbmggban2018-02-24这个没有数据库啊,也没有实体类,新手没有看懂找不到正经名字2018-03-29没有实体,全都用map代替了,数据库的话自己按照sql语句建一个简单的就好
- Kiven_kun2018-02-24这个没有数据库啊,也没有实体类,新手没有看懂找不到正经名字2018-03-29没有实体,全都用map代替了,数据库的话自己按照sql语句建一个简单的就好
找不到正经名字
- 粉丝: 23
- 资源: 29
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 自动驾驶-状态估计和定位之Error State EKF.pdf
- STM32F103ZET6+北斗
- 程序流程图的说明及图形示例
- FDN5618P-NL-VB一款SOT23封装P-Channel场效应MOS管
- Go语言基础(变量和基本类型).zip
- 基于CYCLONE2 (EP2C8Q) FPGA 设计PLL锁相环设置时钟Verilog源码Quartus工程文件.zip
- FDN372S-NL-VB一款SOT23封装N-Channel场效应MOS管
- date0425111111111111111111111
- 包含贪心算法的定义及python代码部分实现
- 自动驾驶-状态估计和定位之扩展卡尔曼滤波.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功