package com.test.bijihoudaun.service;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

/**
 * 文件存储服务
 * 用于处理文件上传、下载和删除等操作
 */
@Service
public class FileStorageService {

    @Value("${file.upload-dir}")
    private String uploadDir;

    /**
     * 加载文件作为File对象
     * @param filename 文件名
     * @return 文件对象
     */
    public java.io.File loadAsFile(String filename) {
        return new java.io.File(uploadDir + java.io.File.separator + filename);
    }

    /**
     * 删除文件
     * @param filename 文件名
     * @return 是否删除成功
     */
    public boolean deleteFile(String filename) {
        try {
            Path filePath = Paths.get(uploadDir, filename);
            return Files.deleteIfExists(filePath);
        } catch (IOException e) {
            System.err.println("Failed to delete file: " + filename);
            return false;
        }
    }
}
