@@ -28,4 +28,3 @@ public/assets/fonts/cache
|
||||
static/audio
|
||||
temp_audio
|
||||
.stfolder
|
||||
storage/
|
||||
@@ -6,8 +6,6 @@ services:
|
||||
dockerfile: deploy/Dockerfile.web
|
||||
ports:
|
||||
- "127.0.0.1:3000:3000"
|
||||
volumes:
|
||||
- ./data/storage:/app/storage
|
||||
environment:
|
||||
- ORIGIN=http://localhost:3000
|
||||
- MONGO_URL=mongodb://cat:meow@db:27017/amaoke?authSource=admin
|
||||
|
||||
@@ -8,10 +8,10 @@ import type { ObjectId } from 'mongodb'
|
||||
import '../ext'
|
||||
import { promises as fs } from 'fs'
|
||||
import path from 'path'
|
||||
import { waitFor } from '../utils'
|
||||
import { separateSong } from './separator'
|
||||
|
||||
const CACHE_DIR = path.resolve('storage/audio')
|
||||
export const getAudioFile = (songId: string, filename: string) => path.join(CACHE_DIR, songId, filename)
|
||||
const CACHE_DIR = path.resolve('static/audio')
|
||||
|
||||
const neCookie = async () => (await dbs.serverProps
|
||||
.findOne({ name: 'global_settings' }))?.netease_login_cookie
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
import { getAudioFile } from '$lib/server/songs';
|
||||
import { error } from '@sveltejs/kit';
|
||||
import fs from 'fs/promises';
|
||||
import path from 'path';
|
||||
import type { RequestHandler } from './$types';
|
||||
|
||||
export const GET: RequestHandler = async ({ params }) => {
|
||||
const { songId, file } = params;
|
||||
const filePath = getAudioFile(songId, file);
|
||||
|
||||
try {
|
||||
await fs.access(filePath);
|
||||
} catch {
|
||||
throw error(404, 'File not found');
|
||||
}
|
||||
|
||||
const ext = path.extname(file).toLowerCase();
|
||||
let contentType = 'application/octet-stream';
|
||||
if (ext === '.mp3') contentType = 'audio/mpeg';
|
||||
if (ext === '.opus') contentType = 'audio/ogg';
|
||||
|
||||
const buffer = await fs.readFile(filePath);
|
||||
|
||||
return new Response(buffer, {
|
||||
headers: {
|
||||
'Content-Type': contentType,
|
||||
'Cache-Control': 'public, max-age=31536000'
|
||||
}
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user