유니티 C# AWS S3 파일 다운로드 받는 방법 예시 코드 작성

반응형

유니티 C# AWS S3 파일 다운로드 받는 방법 예시 코드 작성

using System.Collections;
using UnityEngine;
using UnityEngine.Networking;
using System.IO;

public class S3FileDownloader : MonoBehaviour
{
    // S3에서 다운로드할 파일의 URL
    private string fileUrl = "https://your-bucket-name.s3.region.amazonaws.com/your-file-name";
    
    // 파일을 저장할 로컬 경로
    private string localFilePath;

    void Start()
    {
        // 로컬 파일 경로 설정
        localFilePath = Path.Combine(Application.persistentDataPath, "downloadedFile.ext");
        
        // 파일 다운로드 시작
        StartCoroutine(DownloadFile(fileUrl, localFilePath));
    }

    IEnumerator DownloadFile(string url, string filePath)
    {
        UnityWebRequest request = UnityWebRequest.Get(url);
        yield return request.SendWebRequest();

        if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError)
        {
            Debug.LogError("File download error: " + request.error);
        }
        else
        {
            // 다운로드된 파일을 로컬에 저장
            File.WriteAllBytes(filePath, request.downloadHandler.data);
            Debug.Log("File downloaded to: " + filePath);
            
            // 다운로드한 파일을 로드하거나 실행하는 로직
            ExecuteFile(filePath);
        }
    }

    // 예시로 다운로드한 텍스트 파일을 실행하는 로직 (필요에 따라 수정)
    void ExecuteFile(string filePath)
    {
        if (File.Exists(filePath))
        {
            string fileContent = File.ReadAllText(filePath);
            Debug.Log("Downloaded File Content: " + fileContent);
        }
        else
        {
            Debug.LogError("File not found: " + filePath);
        }
    }
}
반응형