|
|
|
@ -1,5 +1,7 @@ |
|
|
|
|
package com.ruoyi.web.controller.common; |
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.List; |
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
import org.slf4j.Logger; |
|
|
|
@ -8,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.http.MediaType; |
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping; |
|
|
|
|
import org.springframework.web.bind.annotation.PostMapping; |
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping; |
|
|
|
|
import org.springframework.web.bind.annotation.RestController; |
|
|
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
import com.ruoyi.common.config.RuoYiConfig; |
|
|
|
@ -24,6 +27,7 @@ import com.ruoyi.framework.config.ServerConfig; |
|
|
|
|
* @author ruoyi |
|
|
|
|
*/ |
|
|
|
|
@RestController |
|
|
|
|
@RequestMapping("/common") |
|
|
|
|
public class CommonController |
|
|
|
|
{ |
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(CommonController.class); |
|
|
|
@ -31,13 +35,15 @@ public class CommonController |
|
|
|
|
@Autowired |
|
|
|
|
private ServerConfig serverConfig; |
|
|
|
|
|
|
|
|
|
private static final String FILE_DELIMETER = ","; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 通用下载请求 |
|
|
|
|
* |
|
|
|
|
* @param fileName 文件名称 |
|
|
|
|
* @param delete 是否删除 |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("common/download") |
|
|
|
|
@GetMapping("/download") |
|
|
|
|
public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
@ -64,9 +70,9 @@ public class CommonController |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 通用上传请求 |
|
|
|
|
* 通用上传请求(单个) |
|
|
|
|
*/ |
|
|
|
|
@PostMapping("/common/upload") |
|
|
|
|
@PostMapping("/upload") |
|
|
|
|
public AjaxResult uploadFile(MultipartFile file) throws Exception |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
@ -77,8 +83,47 @@ public class CommonController |
|
|
|
|
String fileName = FileUploadUtils.upload(filePath, file); |
|
|
|
|
String url = serverConfig.getUrl() + fileName; |
|
|
|
|
AjaxResult ajax = AjaxResult.success(); |
|
|
|
|
ajax.put("fileName", fileName); |
|
|
|
|
ajax.put("url", url); |
|
|
|
|
ajax.put("fileName", fileName); |
|
|
|
|
ajax.put("newFileName", FileUtils.getName(fileName)); |
|
|
|
|
ajax.put("originalFilename", file.getOriginalFilename()); |
|
|
|
|
return ajax; |
|
|
|
|
} |
|
|
|
|
catch (Exception e) |
|
|
|
|
{ |
|
|
|
|
return AjaxResult.error(e.getMessage()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 通用上传请求(多个) |
|
|
|
|
*/ |
|
|
|
|
@PostMapping("/uploads") |
|
|
|
|
public AjaxResult uploadFiles(List<MultipartFile> files) throws Exception |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
// 上传文件路径
|
|
|
|
|
String filePath = RuoYiConfig.getUploadPath(); |
|
|
|
|
List<String> urls = new ArrayList<String>(); |
|
|
|
|
List<String> fileNames = new ArrayList<String>(); |
|
|
|
|
List<String> newFileNames = new ArrayList<String>(); |
|
|
|
|
List<String> originalFilenames = new ArrayList<String>(); |
|
|
|
|
for (MultipartFile file : files) |
|
|
|
|
{ |
|
|
|
|
// 上传并返回新文件名称
|
|
|
|
|
String fileName = FileUploadUtils.upload(filePath, file); |
|
|
|
|
String url = serverConfig.getUrl() + fileName; |
|
|
|
|
urls.add(url); |
|
|
|
|
fileNames.add(fileName); |
|
|
|
|
newFileNames.add(FileUtils.getName(fileName)); |
|
|
|
|
originalFilenames.add(file.getOriginalFilename()); |
|
|
|
|
} |
|
|
|
|
AjaxResult ajax = AjaxResult.success(); |
|
|
|
|
ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER)); |
|
|
|
|
ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER)); |
|
|
|
|
ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER)); |
|
|
|
|
ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER)); |
|
|
|
|
return ajax; |
|
|
|
|
} |
|
|
|
|
catch (Exception e) |
|
|
|
@ -90,7 +135,7 @@ public class CommonController |
|
|
|
|
/** |
|
|
|
|
* 本地资源通用下载 |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/common/download/resource") |
|
|
|
|
@GetMapping("/download/resource") |
|
|
|
|
public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response) |
|
|
|
|
throws Exception |
|
|
|
|
{ |
|
|
|
|