dirRoot
This commit is contained in:
		@@ -32,7 +32,7 @@ export default defineEventHandler(async event => {
 | 
			
		||||
            const img = await event.context.db.Gallery.findOne({ where: { id } })
 | 
			
		||||
            event.node.res.setHeader('Cache-Control', 'max-age=2629746,immutable')
 | 
			
		||||
            event.node.res.setHeader('Content-Type', img.mimetype)
 | 
			
		||||
            return fs.readFileSync(path.resolve(dirRoot, img.path))
 | 
			
		||||
            return fs.readFileSync(img.path)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 请求缩略图
 | 
			
		||||
@@ -42,13 +42,13 @@ export default defineEventHandler(async event => {
 | 
			
		||||
            // 如果缩略图不存在则生成
 | 
			
		||||
            if (!fs.existsSync(path.resolve(tmpPath, name))) {
 | 
			
		||||
                const img = await event.context.db.Gallery.findOne({ where: { id } })
 | 
			
		||||
                await webp.cwebp(path.resolve(dirRoot, img.path), path.resolve(tmpPath, name), `-lossless -resize ${w} 0`)
 | 
			
		||||
                await webp.cwebp(img.path, path.resolve(tmpPath, name), `-lossless -resize ${w} 0`)
 | 
			
		||||
                // 如果缩略图比原图文件大则替换为原图
 | 
			
		||||
                const originSize = fs.statSync(path.resolve(dirRoot, img.path)).size
 | 
			
		||||
                const originSize = fs.statSync(img.path).size
 | 
			
		||||
                const thumbSize = fs.statSync(path.resolve(tmpPath, name)).size
 | 
			
		||||
                if (thumbSize > originSize) {
 | 
			
		||||
                    fs.unlinkSync(path.resolve(tmpPath, name))
 | 
			
		||||
                    fs.copyFileSync(path.resolve(dirRoot, img.path), path.resolve(tmpPath, name))
 | 
			
		||||
                    fs.copyFileSync(img.path, path.resolve(tmpPath, name))
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            event.node.res.setHeader('Cache-Control', 'max-age=2629746,immutable')
 | 
			
		||||
@@ -105,7 +105,7 @@ export default defineEventHandler(async event => {
 | 
			
		||||
        const rest = img.destroy()
 | 
			
		||||
 | 
			
		||||
        // 后删除源文件和缩略图缓存
 | 
			
		||||
        fs.unlinkSync(path.resolve(dirRoot, img.path))
 | 
			
		||||
        fs.unlinkSync(img.path)
 | 
			
		||||
 | 
			
		||||
        // 正则查找 img.id 开头 .webp 结尾的缩略图, 例如 1@w200.webp
 | 
			
		||||
        const thumb = fs.readdirSync(tmpPath).filter(x => {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user