init source
This commit is contained in:
		
							
								
								
									
										56
									
								
								server/api/upload-fasta.post.bak
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								server/api/upload-fasta.post.bak
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,56 @@
 | 
			
		||||
export default defineEventHandler(async (event) => {
 | 
			
		||||
  try {
 | 
			
		||||
    const formData = await readFormData(event);
 | 
			
		||||
    const file = formData.get('fasta');
 | 
			
		||||
    
 | 
			
		||||
    if (!file) {
 | 
			
		||||
      throw createError({
 | 
			
		||||
        statusCode: 400,
 | 
			
		||||
        statusMessage: 'FASTA 파일이 없습니다.'
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    // Spring Boot 서버 URL (환경변수로 설정 가능)
 | 
			
		||||
    const springBootUrl = process.env.SPRING_BOOT_URL || 'http://localhost:8080';
 | 
			
		||||
    const uploadUrl = `${springBootUrl}/api/fasta/upload`;
 | 
			
		||||
    
 | 
			
		||||
    // Spring Boot 서버로 파일 전송
 | 
			
		||||
    const springFormData = new FormData();
 | 
			
		||||
    springFormData.append('file', file);
 | 
			
		||||
    
 | 
			
		||||
    console.log(`Spring Boot 서버로 파일 업로드 중: ${uploadUrl}`);
 | 
			
		||||
    
 | 
			
		||||
    const response = await fetch(uploadUrl, {
 | 
			
		||||
      method: 'POST',
 | 
			
		||||
      body: springFormData,
 | 
			
		||||
      headers: {
 | 
			
		||||
        // Content-Type은 FormData가 자동으로 설정
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    
 | 
			
		||||
    if (!response.ok) {
 | 
			
		||||
      const errorText = await response.text();
 | 
			
		||||
      throw createError({
 | 
			
		||||
        statusCode: response.status,
 | 
			
		||||
        statusMessage: `Spring Boot 서버 오류: ${errorText}`
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    const result = await response.json();
 | 
			
		||||
    console.log('Spring Boot 서버 응답:', result);
 | 
			
		||||
    
 | 
			
		||||
    return {
 | 
			
		||||
      success: true,
 | 
			
		||||
      remoteUrl: result.fileUrl,
 | 
			
		||||
      fileName: result.fileName,
 | 
			
		||||
      fileSize: result.fileSize
 | 
			
		||||
    };
 | 
			
		||||
    
 | 
			
		||||
  } catch (error) {
 | 
			
		||||
    console.error('FASTA 업로드 오류:', error);
 | 
			
		||||
    throw createError({
 | 
			
		||||
      statusCode: 500,
 | 
			
		||||
      statusMessage: `파일 업로드 실패: ${error.message}`
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
}); 
 | 
			
		||||
		Reference in New Issue
	
	Block a user