37 lines
1.3 KiB
TypeScript
Executable File
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 });
|
|
}
|
|
}; |