BigDataPolyp/src/routes/api/upload-original/+server.ts
2025-10-11 15:07:48 +00:00

37 lines
1.3 KiB
TypeScript
Executable File

// src/routes/api/upload-original/+server.ts
import { json, type RequestHandler } from '@sveltejs/kit';
import fs from 'fs';
import path from 'path';
export const POST: RequestHandler = async ({ request }) => {
try {
const formData = await request.formData();
const file = formData.get('video') as File | null;
if (!file) {
return json({ success: false, error: '파일이 없습니다.' }, { status: 400 });
}
// 'tmp' 폴더가 없으면 생성합니다.
const tmpDir = path.join(process.cwd(), 'tmp');
if (!fs.existsSync(tmpDir)) {
fs.mkdirSync(tmpDir, { recursive: true });
}
// 파일 저장 경로 설정
const filePath = path.join(tmpDir, 'process.mp4');
// 파일 데이터를 버퍼로 변환하여 저장
const buffer = Buffer.from(await file.arrayBuffer());
fs.writeFileSync(filePath, buffer);
console.log(`파일이 성공적으로 저장되었습니다: ${filePath}`);
return json({ success: true, message: '파일 업로드 성공' }, { status: 200 });
} catch (error) {
console.error('파일 업로드 중 오류 발생:', error);
return json({ success: false, error: '서버 처리 중 오류가 발생했습니다.' }, { status: 500 });
}
};