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 下载量 195 浏览量
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
- 粉丝: 3630
- 资源: 1458
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功