v1.0.36 #48

Merged
timi merged 5 commits from dev into master 2026-09-08 17:52:47 +00:00
4 changed files with 28 additions and 13 deletions
Showing only changes of commit 818207d6c9 - Show all commits
@@ -61,7 +61,7 @@ public class ServerFile implements Serializable {
name = file.getName();
absolutePath = file.getAbsolutePath().replaceAll("\\\\", "/");
SettingService settingService = TimiServerAPI.applicationContext.getBean(SettingService.class);
absolutePath = absolutePath.substring("E:\\IDEAProject\\TimiServerAPI\\data\\file".length());
absolutePath = absolutePath.substring(new File(settingService.getSystem(SystemFileSetting.BASE_PATH).asString()).getAbsolutePath().length());
modifiedAt = file.lastModified();
this.file = file.isFile();
@@ -0,0 +1,21 @@
package com.imyeyu.api.modules.system.bean;
import com.imyeyu.api.bean.SettingEnum;
import com.imyeyu.api.modules.common.entity.Setting;
import lombok.AllArgsConstructor;
import lombok.Getter;
///
///
/// @author 夜雨
/// @since 2026-09-08 17:08
@Getter
@AllArgsConstructor
public enum SystemFileSetting implements SettingEnum {
BASE_PATH("data/file", Setting.ValueType.STRING);
final String defaultValue;
final Setting.ValueType valueType;
}
@@ -1,9 +1,8 @@
package com.imyeyu.api.modules.system.controller;
import com.imyeyu.api.modules.common.entity.Setting;
import com.imyeyu.api.modules.common.service.SettingService;
import com.imyeyu.api.modules.common.service.TagService;
import com.imyeyu.api.modules.system.bean.ServerFile;
import com.imyeyu.api.modules.system.bean.SystemFileSetting;
import com.imyeyu.api.modules.system.bean.TransferFile;
import com.imyeyu.api.modules.system.service.AsyncTaskService;
import com.imyeyu.api.modules.system.service.FileService;
@@ -47,7 +46,6 @@ import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.RandomAccessFile;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -67,7 +65,6 @@ import java.util.Map;
@RequestMapping("/system/file")
public class FileController implements TimiJava, OS.FileSystem {
private final TagService tagService;
private final FileService service;
private final SettingService settingService;
private final AsyncTaskService asyncTaskService;
@@ -143,7 +140,7 @@ public class FileController implements TimiJava, OS.FileSystem {
public void read(HttpServletRequest req, HttpServletResponse resp) {
try {
String path = req.getServletPath().substring("/system/file/read".length());
path = "/root/bin/data/mnt" + path;
path = settingService.getSystem(SystemFileSetting.BASE_PATH).asString() + path;
if (TimiJava.isEmpty(path)) {
resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
return;
@@ -195,8 +192,7 @@ public class FileController implements TimiJava, OS.FileSystem {
resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
return;
}
// path = settingService.getAsString(Setting.Module.System.FILE_BASE_PATH) + path;
File file = new File(path);
File file = new File(settingService.getSystem(SystemFileSetting.BASE_PATH).asString() + path);
if (!file.exists()) {
log.warn("preview a not exist file: {}", path);
resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
@@ -409,8 +405,7 @@ public class FileController implements TimiJava, OS.FileSystem {
public void download(HttpServletResponse resp) {
try {
String path = TimiSpring.cutURIStartAt("/system/file/download");
path = "E:/IDEAProject/TimiServerAPI/data/file" + path;
File file = new File(path);
File file = new File(settingService.getSystem(SystemFileSetting.BASE_PATH).asString() + path);
service.checkAccessPermission(file.getAbsolutePath());
String mimeType = new Tika().detect(file);
@@ -1,8 +1,8 @@
package com.imyeyu.api.modules.system.service.implement;
import com.imyeyu.api.modules.common.entity.Setting;
import com.imyeyu.api.modules.common.service.SettingService;
import com.imyeyu.api.modules.system.bean.ServerFile;
import com.imyeyu.api.modules.system.bean.SystemFileSetting;
import com.imyeyu.api.modules.system.bean.TransferFile;
import com.imyeyu.api.modules.system.service.AsyncTaskService;
import com.imyeyu.api.modules.system.service.FileService;
@@ -257,8 +257,7 @@ public class FileServiceImplement implements TimiJava, FileService {
}
private String getPath(String path) {
// String basePath = settingService.getSystem(Setting.Module.System.FILE_BASE_PATH).asString();
String basePath = "E:\\IDEAProject\\TimiServerAPI\\data\\file";
String basePath = settingService.getSystem(SystemFileSetting.BASE_PATH).asString();
if (TimiJava.isEmpty(path)) {
return basePath;
}