문제

상당히 복잡한 프로세스가 필요한 프로젝트가 있는데 이 작업을 수행하는 가장 좋은 방법을 알고 싶습니다.Adobe Flex 3에서 ASP.net C#을 사용하고 있습니다.앱 서버는 Mosso(클라우드 서버)이고 파일 저장 서버는 Amazon S3입니다.기존 사이트는 다음에서 볼 수 있습니다. NoiseTrade.com

나는 이것을 해야 한다:

  • 사용자가 MP3 파일을 앨범 "위젯"에 업로드하도록 허용합니다.
  • 사용자가 앨범/위젯을 업로드 한 후 MP3를 자동으로 지퍼 (다른 사용자를 다운로드하려면)를 Amazon S3에 MP3 트랙과 함께 업로드해야합니다.

실제로 이 기능은 이미 작동하고 있지만(Flex의 클라이언트측 처리 사용) Adobe의 플래시 10 "보안" 업데이트로 인해 더 이상 작동하지 않습니다.이제 이 서버측을 구현해야 합니다.

내가 생각하는 방식은 다음과 같습니다.

  • 앱 서버의 임시 폴더에 MP3를 저장
  • 아티스트가 "게시"할 때 AC# 라이브러리를 사용하여 해당 폴더에서 파일의 zip을 만듭니다.
  • Amazon S3 업로드 프로세스 (Zip 및 MP3)를 시작하고 완료되면 사용자에게 이메일을 보내십시오 (임시 폴더 삭제)

이 접근 방식에서 제가 본 주요 문제점은 사용자가 나중에 트랙을 삭제하거나 추가하는 경우 zip 파일을 업데이트해야 하지만 임시 파일은 더 이상 존재하지 않는다는 것입니다.

나는 이 작업을 수행하는 가장 좋은 방법을 모르고 있으며 귀하의 조언에 감사드립니다.

감사해요!

도움이 되었습니까?

해결책

사용자가 트랙을 추가하거나 제거하는 경우 zip을 업데이트하지만 임시 파일이없는 경우에는 여러 트랙이 포함 된 Zips, 완전한 앨범이 포함 된 Zips를 작성하려고한다고 의심합니다. 이것이 틀렸고 각 지퍼에 단 하나의 mp3를 넣으면 스위트 잭이 옳고 아마도 파일을 만들게 될 것입니다 (약간). 더 큰 지핑하여 더 작기보다는 더 작습니다.

내 해석이 맞다면 운이 좋다. 명령 줄 지퍼 도구에는 자주 기존 지퍼 아카이브에서 파일을 추가하거나 삭제하는 데 사용할 수있는 플래그가 있습니다. 지핑을하기 위해 어떤 라이브러리 또는 기타 방법을 사용하고 있는지는 언급하지 않았지만 아마도이 기능도있을 것으로 기대합니다.

다른 팁

MP3가 압축되어 있습니다. 왜 그들을 지치는가?

압축 된 파일 형식을 압축 할 필요는 없다고 말하고 싶습니다. 파일 크기를 5 % 줄이고, 조금씩 가져 가거나 가져 가기 위해서만 gong입니다. MP3는 실제로 가능한 대부분의 가능한 데이터를 압축했습니다.

DotNetZip C#/ASP.NET에서 파일을 압축할 수 있습니다.나는 MP3의 압축성에 관한 이전 포스터에 동의합니다.DotNetZip은 자동으로 건너뛰다 MP3로 압축하고 파일을 저장하기만 하면 됩니다.압축 외에도 zip을 패키징/보관 컨테이너로 사용하는 것은 여전히 ​​흥미로울 수 있습니다.

나중에 zip 파일을 변경하는 경우(사용자가 트랙을 추가함) S3에서 .zip 파일을 가져와 업데이트하면 됩니다.DotNetZip은 zip 파일도 업데이트할 수 있습니다.하지만 이 경우 S3로 들어오고 나가는 전송 비용을 지불해야 합니다.

DotNetZip은 메모리 내에서 zip을 처리하여 이 모든 작업을 수행할 수 있습니다. 하지만 이는 MP3가 많고 동시 사용자가 많은 대규모 아카이브에는 적합하지 않을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top