55 lines
2.1 KiB
Java
55 lines
2.1 KiB
Java
package com.jmal.clouddisk.controller;
|
|
|
|
import com.jmal.clouddisk.annotation.LogOperatingFun;
|
|
import com.jmal.clouddisk.model.LogOperation;
|
|
import com.jmal.clouddisk.service.IFileService;
|
|
import com.jmal.clouddisk.service.IShareService;
|
|
import com.jmal.clouddisk.util.ResultUtil;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
/**
|
|
* @author jmal
|
|
* @Description 文件资源管理
|
|
* @Date 2020/10/19 3:55 下午
|
|
*/
|
|
@Tag(name = "文件资源管理")
|
|
@Controller
|
|
public class FileViewController {
|
|
|
|
@Autowired
|
|
private IFileService fileService;
|
|
|
|
@Autowired
|
|
IShareService shareService;
|
|
|
|
@Operation(summary = "预览文档里的图片")
|
|
@GetMapping("/public/view")
|
|
@LogOperatingFun(logType = LogOperation.Type.BROWSE)
|
|
public String imageRelativePath(@RequestParam String relativePath,@RequestParam String userId) {
|
|
ResultUtil.checkParamIsNull(relativePath,userId);
|
|
return fileService.publicViewFile(relativePath, userId);
|
|
}
|
|
|
|
@Operation(summary = "分享:预览文件")
|
|
@GetMapping("/public/s/preview/{filename}")
|
|
@LogOperatingFun(logType = LogOperation.Type.BROWSE)
|
|
public String publicPreview(@RequestParam String fileId, @RequestParam String shareId, @RequestParam String shareToken) {
|
|
shareService.validShare(shareToken, shareId);
|
|
return fileService.viewFile(fileId, fileId, shareToken, "preview");
|
|
}
|
|
|
|
@Operation(summary = "分享:下载单个文件")
|
|
@GetMapping("/public/s/download/{filename}")
|
|
@LogOperatingFun(logType = LogOperation.Type.BROWSE)
|
|
public String publicDownload(@RequestParam String fileId, @RequestParam String shareId, @RequestParam String shareToken) {
|
|
shareService.validShare(shareToken, shareId);
|
|
return fileService.viewFile(fileId, fileId, shareToken, "download");
|
|
}
|
|
|
|
}
|