S3 방식 이미지, 오디오 클라로 넘겨주는 방법

 이미지 쪽->

결론: 걍 아마존 s3 파일 주소를 집적 주면 된다.

하지만 indj 서버 구조는 페이크용 api 주소를 한번 거치기 때문에

페이크용 api->리다이렉트 방식으로 가면 끝이다.

channel.controller.js

router.route("/image/:type/:filename").get(async (reqresnext=> {
const imagePath = `${config.file.path}/image/${
      req.params.type
    }/${encodeURIComponent(req.params.filename)}`;

    res.redirect(imagePath);

config.file.path 부분엔 s3 메인 베이스 주소를 넣어주면 된다.





오디오 쪽->
이미지와 마찬가지로 걍 아마존 오디오 파일 주소를 주면 된다
페이크 api를 한번 거지기 때문에 마지막 api 종점지에서
send(filePath) 이렇게 하면 걍 문자열을 던져 주기 때문에
강제로 aws S3 파일 주소로 이동시키게 하면 끝이다.
playtime skip은 App player가 s3 쪽으로 보내면 s3가 알아서 처리해준다
music.controller.js
router.route("/file").get(async (reqresnext=> {
// 파일 읽기
    let filePath = `${config.file.path}/audio/high/${encodeURIComponent(
      file[0].file.split("_album")[0]
    )}.mp3`;
    let folderPath = `audio/high/${encodeURIComponent(
      file[0].file.split("_album")[0]
    )}.mp3`;

    if (!(await awsFileExists.getFileFromS3(folderPath))) {
      /*
      filePath = `/home/server/client/file/music/audio/mp3/${
        file[0].file.split("_album")[0]
      }.mp3`;
      */
      filePath = `${config.file.path}/audio/mp3/${encodeURIComponent(
        file[0].file.split("_album")[0]
      )}.mp3`;
      folderPath = `audio/mp3/${encodeURIComponent(
        file[0].file.split("_album")[0]
      )}.mp3`;
      if (!(await awsFileExists.getFileFromS3(folderPath))) {
        mMusic.notFoundMusic(`${file[0].file.split("_album")[0]}`);
        return res.json({
          success: false,
          reason: "음악 파일을 찾을수 없습니다",
        });
      }
    }
    res.redirect(filePath);

댓글

이 블로그의 인기 게시물

[AI Image]

[GameIdea] 2D

[토이강의] Blazor C# 으로 유튜브 동영상 나의 플레이리스트 만들기