package com.qxy.studentinternshipsystem.controller;
import com.qxy.studentinternshipsystem.service.FileService;
import com.qxy.studentinternshipsystem.utils.ResponseMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.List;
import java.util.UUID;
@Controller
@RequestMapping("/file")
public class FileController {
@Autowired
private FileService fileService;
/**
* 校验上传的文件,进行保存
*/
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public @ResponseBody
ResponseMessage uploadFile(@RequestParam("multipartFile") MultipartFile multipartFile ,
@RequestParam("fileDescribe") String fileDescribe,
@RequestParam("type") Integer type) throws IOException {
System.out.println(fileDescribe);
//设置文件保存路径
final String path = "D:\\file\\";
String fileName = multipartFile.getOriginalFilename();
//封装文件对象
File file = new File(path, fileName);
//判断文件夹是否存在,如果不存在则创建
if (!file.exists()) {
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
file.createNewFile();
}
try {
// 文件写入
multipartFile.transferTo(file);
} catch (Exception e) {
e.printStackTrace();
return new ResponseMessage("0", "操作失败");
}
ResponseMessage responseMessage = new ResponseMessage("1", "操作成功");
if(fileName != null && !"".equals(fileName) ){
//写入数据库
com.qxy.studentinternshipsystem.entity.File file1 = new com.qxy.studentinternshipsystem.entity.File();
file1.setFileId(UUID.randomUUID().toString());
file1.setFileName(fileName);
file1.setFilePath(path + fileName);
file1.setFileDescribe(fileDescribe);
file1.setType(type);
fileService.insertFile(file1);
}
return responseMessage;
}
//获取所有类型为0的文件,即教学资料
@RequestMapping("/getAllFile")
public @ResponseBody ResponseMessage getAllFile(){
try {
List<com.qxy.studentinternshipsystem.entity.File> fileList = fileService.getAllFile(0);
ResponseMessage responseMessage = new ResponseMessage("1","获取成功");
responseMessage.getData().put("fileList",fileList);
return responseMessage;
}
catch (Exception e){
e.printStackTrace();
return new ResponseMessage("0","获取失败");
}
}
//获取所有类型为1的文件,即作业
@RequestMapping("/getAllWorkFile")
public @ResponseBody ResponseMessage getAllWorkFile(){
try {
List<com.qxy.studentinternshipsystem.entity.File> fileList = fileService.getAllFile(1);
ResponseMessage responseMessage = new ResponseMessage("1","获取成功");
responseMessage.getData().put("fileList",fileList);
return responseMessage;
}
catch (Exception e){
e.printStackTrace();
return new ResponseMessage("0","获取失败");
}
}
/**
* 文件下载
* @param file
* @param response
* @return
*/
@RequestMapping(value = "/downloadFile", method = RequestMethod.POST)
public @ResponseBody
ResponseMessage downloadFile(@RequestBody com.qxy.studentinternshipsystem.entity.File file, HttpServletResponse response) {
//获取文件的信息
try {
//拿到文件路径
String filePath = file.getFilePath();
File f = new File(filePath);
if (f.exists()) {
byte[] buffer = new byte[1024];
FileInputStream fis = null;
BufferedInputStream bis = null;
try {
fis = new FileInputStream(f);
bis = new BufferedInputStream(fis);
//从响应中拿到输出流对象
OutputStream os = response.getOutputStream();
int i = bis.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bis.read(buffer);
}
return new ResponseMessage("1", "下载文件成功");
} catch (Exception e) {
e.printStackTrace();
return new ResponseMessage("-1", "下载文件失败");
} finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
return new ResponseMessage("-1", "下载文件不存在");
} catch (Exception e) {
e.printStackTrace();
return new ResponseMessage("-1", "下载文件失败");
}
}
@RequestMapping(value = "/updateFile", method = RequestMethod.POST)
public @ResponseBody
ResponseMessage updateFile(@RequestBody com.qxy.studentinternshipsystem.entity.File file){
System.out.println(file);
try {
fileService.updateFile(file);
return new ResponseMessage("1","修改成功");
}
catch (Exception e){
e.printStackTrace();
return new ResponseMessage("0","修改失败");
}
}
@RequestMapping("/deleteFile")
public @ResponseBody
ResponseMessage deleteFile(String fileId){
try {
fileService.deleteFile(fileId);
return new ResponseMessage("1","删除成功");
}
catch (Exception e){
e.printStackTrace();
return new ResponseMessage("0","删除失败");
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Java毕业设计管理系统.zip
共59个文件
java:41个
xml:9个
properties:2个
2 下载量 35 浏览量
2024-08-21
15:58:47
上传
评论
收藏 235KB ZIP 举报
温馨提示
java毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava毕业设计管理系统.zipjava
资源推荐
资源详情
资源评论
收起资源包目录
Java毕业设计-基于spring boot开发的实习管理系统.zip (59个子文件)
实习管理系统前端.zip 137KB
-system-master
mvnw.cmd 6KB
pom.xml 3KB
src
test
java
com
qxy
studentinternshipsystem
StudentInternshipSystemApplicationTests.java 249B
main
resources
mapper
FileMapper.xml 857B
UserMapper.xml 2KB
FeedbackMapper.xml 1KB
TaskMapper.xml 1KB
AnnouncementMapper.xml 2KB
ReportMapper.xml 2KB
ApplyMapper.xml 2KB
application.properties 1KB
mybatis-config.xml 460B
java
com
qxy
studentinternshipsystem
controller
FileController.java 6KB
UserController.java 5KB
TaskController.java 2KB
FeedbackController.java 2KB
ReportController.java 2KB
AnnouncementController.java 3KB
ApplyController.java 4KB
utils
ResponseMessage.java 884B
dao
AnnouncementDao.java 466B
FeedbackDao.java 329B
UserDao.java 517B
ReportDao.java 362B
TaskDao.java 337B
FileDao.java 357B
ApplyDao.java 428B
service
UserService.java 469B
TaskService.java 260B
ReportService.java 285B
ApplyService.java 350B
AnnouncementService.java 390B
impl
TaskServiceImpl.java 754B
FileServiceImpl.java 866B
UserServiceImpl.java 2KB
ApplyServiceImpl.java 959B
AnnouncementServiceImpl.java 1KB
ReportServiceImpl.java 812B
FeedbackServiceImpl.java 720B
FeedbackService.java 251B
FileService.java 307B
entity
File.java 1KB
Report.java 893B
Apply.java 1KB
Feedback.java 729B
Announcement.java 1KB
User.java 2KB
Task.java 802B
StudentInternshipSystemApplication.java 370B
config
WebConfig.java 1KB
DruidConfig.java 2KB
.mvn
wrapper
maven-wrapper.properties 218B
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
数据库pdm及脚本
studentInternship.sql 8KB
PhysicalDataModel_1.pdm 105KB
mvnw 10KB
.gitignore 333B
共 59 条
- 1
资源评论
yava_free
- 粉丝: 5437
- 资源: 2092
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 英语的核心素养.doc
- 幼儿.园家长开放日活动方案.doc
- MATLAB仿真16QAM载波调制信号在AWGN信道下的误码率 形式:程序 程序实现功能:仿真16QAM载波调制信号在AWGN信道下的误码率和误比特率性能,并与理论值相比较 运行版本2014
- 自学考试计算机系统结构问答题汇总.doc
- 幼儿园防止小学化自查报告.doc
- 中级财务管理试题和答案.doc
- 专科《组织行为学》形成性考核册答案.doc
- 剑桥少儿英语考级要求.doc
- 剑桥少儿英语考级要求内容.doc
- 教师职称竞聘述职述廉报告.doc
- 竞选学生会申请书(精选多篇).doc
- 教科版科学四年级(上册)教学案物质在水中是若何溶解的.doc
- 临床医学专业临床肿瘤学课程试题资料讲解.doc
- 练习册翻译答案新编英语教程5第三版.doc
- 跨境电商初级人才考试试题.doc
- 罗宾斯管理学案例分析题答案详细讲解.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功