添加互联网岗位上传附件,未作批量处理(job)表

This commit is contained in:
sh
2026-06-22 17:26:18 +08:00
parent 0dfb45c25a
commit f18f179f3d
6 changed files with 501 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
package com.ruoyi.cms.controller.cms;
import com.ruoyi.cms.service.IFileJobUploadService;
import com.ruoyi.cms.util.file.FileValid;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.FileJobUpload;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.ServletUtils;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
@RestController
@RequestMapping("/cms/fileJobUpload")
public class CmsFileJobUploadController extends BaseController {
@Autowired
private IFileJobUploadService fileJobUploadService;
//文件大小限制 10MB
private static final long MAX_FILE_SIZE = 100 * 1024 * 1024;
@ApiOperation("上传文件")
@PreAuthorize("@ss.hasPermi('cms:fileJobUpload:upload')")
@PostMapping("/upload")
public AjaxResult upload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) return AjaxResult.error("文件不能为空!");
if (file.getSize() > MAX_FILE_SIZE) {
return AjaxResult.error("文件大小超出限制!");
}
boolean isValid = FileValid.validateFile(file);
if (!isValid) {
return AjaxResult.error("文件类型不合法或内容被篡改!");
}
return fileJobUploadService.upload(file);
}
@ApiOperation("获取附件列表")
@PreAuthorize("@ss.hasPermi('cms:fileJobUpload:list')")
@GetMapping("/list")
public TableDataInfo list(FileJobUpload file,HttpServletRequest request)
{
String host = request.getHeader("Host");
List<String> allowedHosts = Arrays.asList(
"localhost",
"127.0.0.1",
"10.98.80.146",
"10.98.80.50",
"www.xjksly.cn",
"ks.zhaopinzao8dian.com"
);
if (host != null) {
if (host.contains(":")) {
host = host.split(":")[0];
}
if (!allowedHosts.contains(host)) {
return error(401,"非法请求来源");
}
}
//修复CORS 跨域漏洞
HttpServletResponse response = ServletUtils.getResponse();
response.setHeader("Access-Control-Allow-Origin", "");
response.setHeader("Access-Control-Allow-Credentials", "");
startPage();
List<FileJobUpload> results = fileJobUploadService.selectFileList(file);
return getDataTable(results);
}
@ApiOperation("删除附件")
@PreAuthorize("@ss.hasPermi('cms:fileJobUpload:remove')")
@DeleteMapping("/{id}")
public AjaxResult remove(@PathVariable Long id)
{
return toAjax(fileJobUploadService.deleteFileByIds(new Long[]{id}));
}
}