2011-12-19 3 views
2

정말 크고 3 + gig가 주어지면 바이너리 파일은 어쨌든 클라이언트에서 서버로, 자바 스크립트를 사용하여 파일의 일부만을 스트리밍 할 수 있습니다. 주어진 파일의 바이트 범위를 알고 싶습니다.JavaScript를 사용하여 파일의 일부를 스트리밍하는 방법은 무엇입니까?

저는 클라이언트에서 파일의 특정 부분을 가져와야하는 Ruby on Rails 응용 프로그램을 가지고 있습니다. 한 사용자가 자바를 사용하여이 작업을 수행 할 수 있다고 말했기 때문입니다.

편집 : 일부 읽기 후에 파일을 잘라내는 HTML5가 최선의 방법 일 수 있습니다. http://www.html5rocks.com/en/tutorials/file/dndfiles/

+0

시도하려는 내용과 시도한 내용에 대한 자세한 내용이 필요합니다. 음악을 스트리밍하려고합니까? 비디오? 슬라이드 쇼? 긴 책? – Dave

+0

어떤 파일입니까? –

+0

스트리밍 콘텐츠에 사용할 수있는 AJAX Push Engine이라는 라이브러리가 있습니다. 그것을 확인하고 싶을 수도 있습니다. 자바 스크립트를 사용하려는 경우 백엔드에 RingoJS를 사용하는 것이 좋습니다. 희망이 도움이됩니다. –

답변

2

웹 서버가 지원하는 것으로 가정하면 기본 대답은 '예'입니다.

Range HTTP header을 사용하여 파일의 일부만 요청할 수 있습니다 (예 : Range: bytes=1000-2000). 이 기능이 작동하는지 여부는 수행하려는 작업에 크게 달려 있습니다. 자세한 정보가 도움이됩니다.

사용 방법에 대한 설명은 this answer을 참조하십시오.

+0

이것은 서버 대신 클라이언트에서 데이터를 가져와야한다는 것을 제외하고는 필자가 필요로하는 것처럼 보입니다. 그래도 고마워. –

1

아니오, 실제로는 (적어도 현재는 어쨌든). Javascript에 노출 된 파일 처리 기능은 실제로 파일을 처리하는 등 파일을 처리 할 때 유용한 클라이언트 측 작업을 수행 할만큼 강력하지 않습니다. javascript에 대한 클라이언트 측 파일 처리를 향상시키기 위해 w3c 사양이 제안되었지만 주요 브라우저 중 어느 것도이 단계를 실제로 처리하지 못했습니다.

저는 현재 유사한 요구 사항이있는 프로젝트에서 작업하고 있습니다.이 프로젝트를 조사 할 때 발견 된 유일한 옵션은 Flash를 사용하거나 Java를 사용하는 것입니다. 플래시보다 Java가 훨씬 편하다고해서 우리는 그 길을갔습니다.

우리는 현재 Groovy와 Griffon 프레임 워크뿐만 아니라 서버 측 부분을위한 Grails도 사용하고 있습니다. Griffon은 데스크톱 대 웹 스타트 대 애플릿의 번거 로움을 덜어주기 때문에 훌륭했으며, Groovy를 기반으로하므로 Swing DSL을 활용할 수 있으므로 Swing을 작성하는 것이 훨씬 쉽습니다.

관련 문제