2008-08-29 12 views
12

Internet Explorer의 파일 다운로드 제한은 4GB입니다 (IE6에서는 2GB). 사용자가 (100기가바이트 및 초과까지) 매우 큰 파일을 다운로드 할 수 있습니다 내가 사이트 일하고큰 파일 다운로드

: 파이어 폭스는 ( http://support.microsoft.com/kb/298618 더 많은 정보를 원하시면 여기) (아직 테스트하지 않은 사파리)이 문제가되지 않습니다

FTP를 사용하지 않고 을 수행하는 가장 좋은 방법은 무엇입니까? 최종 사용자는 HTTP를 사용하여 브라우저에서 파일을 다운로드 할 수 있어야합니다. 나는 Flash 나 Silverlight가 클라이언트에게 파일을 저장할 수 있다고 생각하지 않는다. 그래서 나는 그것을 잘라 내지 않을 것이라고 생각한다.

이 문제를 해결하려면 ActiveX 또는 Java 애플릿이 필요합니다. MSDN에서 사용하는 다운로드 관리자와 같은 것입니다.

누구나 상업적 (또는 무료) 구성 요소를 알고 있습니까? 우리는 사용자가 "브라우저 와이드"다운로드 관리자 (예 : GetRight)를 설치하지 않기를 원하며, 우리 사이트에서만 다운로드하도록하고 싶습니다.

업데이트 : 다음은 내가하려는 일을 명확히하는 데 도움이되는 몇 가지 추가 정보입니다. 4GB 제한을 초과하는 대부분의 파일은 대형 HD 비디오 파일 (비디오 편집 회사 용)입니다. 이들은 인터넷을 통해 사용자에 의해 다운로드 될 것이며, 이것은 로컬 네트워크에있는 사람들이 될 수 없습니다. 우리는 HTTP를 통해 파일을 사용할 수 있기를 원합니다 (일부 사용자는 FTP, Bittorrent 등을 허용하지 않을 방화벽 뒤에있을 것입니다). 최종 사용자가 다운로드 할 수있는 파일 라이브러리가 될 것이므로 한 번 큰 다운로드를 말하는 것이 아닙니다. 이 프로그램은 준 정기적으로 서로 다른 대용량 파일을 다운로드합니다.

지금까지 @ Edmund-Tay가 제안한 볼트는 지금까지 가장 가까운 해결책입니다. 유일한 문제는 4GB보다 큰 파일에서는 작동하지 않는다는 것입니다 (다운로드를 시작하기 전에 즉시 실패합니다. 아마도 파일의 내용 길이가 초과하는 32 비트 정수를 사용하고있을 것입니다).

링크 된 @spoulson과 같은 방식으로 작동하는 Java 애플릿 (또는 문제가 IE에만 ​​존재하기 때문에 ActiveX 구성 요소)이 가장 좋은 솔루션이 될 수 있지만 지금까지는 아무런 조치도 취하지 않았습니다. (멀티 파트 다운로드, 재개 등).

Google에서 직접 작성해야 할 수도 있습니다. 또 다른 옵션은 확장 또는 MIME 형식과 관련된 .Net 응용 프로그램 (아마 ClickOnce)을 작성하는 것입니다. 그런 다음 사용자는 실제로 응용 프로그램에 다운로드 할 파일을 알려주는 exe/ClickOnce 응용 프로그램에서 열리는 웹 서버에서 작은 파일을 다운로드합니다. 그것이 MSDN 다운로더가 작동하는 방법입니다. 최종 사용자는 EXE를 한 번만 다운로드/설치하면됩니다. 대형 파일을 다운로드 할 때마다 exe 파일을 다운로드하는 것보다 낫습니다.

+0

당신이 – travis

+0

에 대한 솔루션을 함께했다 궁금 "나는 플래시 나 실버 라이트를 생각해야하지 않는 브라우저 다운로드 도구에 내장 나는 그들이 그것을 자르지 않을 것이라는 것을 나는 안다면 클라이언트에게 파일을 저장할 수있다. " WeTransfer (https://www.wetransfer.com/)를 확인하십시오 - 어떻게 작동하는지 모르지만 (아직) Flash 클라이언트를 통해 대용량 파일을 다운로드하는 것 같습니다. –

답변

6

bittorrent?

웹 기반 버전은 이미 (bitlet, w3btorrent)이고, Azureus은 java를 사용하여 제작되었으므로 확실히 가능합니다.

편집 : @TonyB는 포트 80으로 제한됩니까?

4

ActiveX를 사용하지 마십시오 ... IE에서만 볼 수있는 사이트가 너무 아프다.

사용자로서 나의 실제 선호도는 사용자가이 상황에서 파일을 다운로드하는 간단한 가벼운 .exe 파일을 다운로드하는 것입니다.

+0

IE 전용 솔루션에 대한 민감성을 고맙게 생각하지만 Windows 전용 솔루션과 동일한 수준의 민감도를 제안합니다 (비 유적으로 .exe를 사용하지 않는 한). –

0

@travis

불행히도 사용자 브라우저에서는 HTTP를 사용해야합니다. 더 명확히하기 위해 질문을 업데이트 할 것입니다.

2

파일을 여러 조각으로 나눈 다음 다운로드 후에 다시 결합 할 수 있습니까?

0

@levand 이 문제는 IE에서만 발생합니다 (Firefox에서는 작동 함). ActiveX는 IE에서만 작동하지만 IE는 우리가 해결해야 할 유일한 것입니다.

@travis - 흥미로운 아이디어. 그것이 내가 필요로하는 것을 위해 작동 할 것인지에 관해 명확히하지 않고있다. 그러나 나는 그것을 명심한다. 나는 제 3자를 방문하지 않고 기존 사이트와 통합 할 무언가를 찾고자합니다. 또한 다른 사용자가 다른 파일에 다른 액세스 권한을 갖기 때문에 비트 토 런트 추적기를 설치하기가 쉽지 않을 것입니다.

0

@jjnguy 저에게 도움이되는 Java 애플릿 또는 ActiveX 구성 요소를 찾고 있습니다. 우리가 정말 그냥 다운로드를 클릭 갖고 싶어하고 전체 파일이 지정된 위치에 끝 있도록 다음은 비 기술적 인 사용자입니다

7

@levand :

내 실제 환경 설정, 이러한 상황에서 사용자로 당신을 위해 파일을 다운로드하는 경량 .exe 파일을 다운로드하는 것입니다.

많은 사이트에서 많은 문제가 발생했습니다. 사용자가 또는 이어야하며 웹 사이트에서 .exe 파일을 다운로드하고 willy-nilly로 실행하는 것을 매우 꺼립니다. 비록 그들이 항상 신중하지는 않더라도, 신중한 행동은 이 아니며 우리가 책임감있는 개발자로 권장해야하는 것입니다.

회사 인트라넷 라인을 따라 작업하는 경우 .exe는 괜찮은 솔루션이지만 공개 웹은 가능합니까? 안돼.

@TonyB :

FTP를 사용하지 않고이 작업을 수행하는 가장 좋은 방법은 무엇

.

죄송합니다. 이유는 무엇입니까? 귀하의 질문은 "고기 나 열원없이 스테이크를 요리하는 가장 좋은 방법은 무엇입니까?" FTP는 이었습니다. 이런 종류의 일을 위해을 디자인했습니다.

0

@ceejayoz

나는 완전히 동의하지만, 우리의 클라이언트에 대한 요구 사항의 일부입니다. FTP 액세스가 있지만 각 사용자는 HTTP 또는 FTP를 통해 다운로드 할 수 있습니다. FTP를 허용하지 않는 회사 방화벽 뒤에있는 일부 사용자가 있습니다.

이전에 다른 사이트 (MSDN, Adobe)에서이 작업을 수행하여 이미 뭔가를 만들어야한다는 것을 알고있었습니다. 하나의 집에서 (및 학습 자바 및/또는 액티브)

0

나는 msdn과 유사한 한 번 클릭 설치 관리자를 말합니다.

그러나 작업에 대해 더 최적화 된 프로토콜없이 CDN이되는 것은 쉬운 일이 아닙니다. 나는 당신이 msdn과 같은 것을하지 않는 한 핵심 역량만큼 큰 파일 다운로드를 가질 정도로 가치있는 비즈니스 모델을 상상할 수 없다. 두꺼운 클라이언트를 만들면 광고 또는 다른 수익 모델을 위해 사용자와 더 많은 얼굴을 맞을 수있는 기회를 얻게됩니다. 아마 이러한 서비스를 호스팅하는 데 수십만 달러를 지불 할 것이기 때문입니다.

0

애플릿 접근법의 문제점은 최종 사용자가 Java 보안 속성을 수정하지 않으면 애플릿에 하드 드라이브에 저장할 권한이없는 것입니다.

Java Web Start (일명 JNLP)을 사용하는 것이 가능할 수 있습니다. 나는 그것이 서명 된 응용 프로그램 인 경우 하드 드라이브에 쓸 수있는 여분의 권한을 얻을 수 있다고 생각합니다. 이것은 exe 접근 방식과 많이 다르지 않습니다. 이 문제점은 사용자가 올바른 버전의 Java를 설치해야하며 Java Web Start 기능을 올바르게 설정해야한다는 것입니다.

비 기술적 인 사용자가 사용할 수있는 가장 쉬운 방법이기 때문에 exe 방식을 권장합니다. 당신이 사내 자바 코드를 작성하지 않으려면

1

, 상업 애플릿 솔루션을 사용할 수있다 :

을 둘 다 평가 후면 버전이 당신 다운로드하여 테스트 할 수 있습니다.

0

설치하고 .exe 파일을 실행이 허용 될 가능성이 같은 제한적인 방화벽과 사용자입니다 ... FTP를 허용하지 않는 회사 방화벽 뒤에있을 것입니다 일부 사용자 있습니다 귀하의 웹 사이트에서?

1

몇 가지 아이디어 :

  • 블리자드가 패치 비트 토 런트의 래퍼 .EXE 경량을 사용합니다. 나는 그것이 어떻게 완료되었는지는 모르지만 공식 BitTorrent 클라이언트의 브랜드 버전처럼 보입니다.
  • Amazon S3에 업로드하고 파일의 토런트 링크를 제공하십시오 (모든 S3 파일은 자동으로 BitTorrent를 지원합니다). 대신 전체 HTTP 다운로드 링크를 제공하십시오. See S3 documentation
0

cURL을 살펴보십시오. This article은 HTTP를 통해 동시에 여러 부분을 다운로드하는 방법을 설명합니다. 300KB가 넘는 파일의 FTP 다운로드를 관리하기 위해 과거에 cURL을 사용해 왔습니다.

팁 : 클라이언트의 NIC 구성에서 TCP 창 크기를 늘리면 다운로드 시간을 훨씬 늘릴 수 있습니다. OS가 허용하는 한 높게 설정하면 물리적 네트워크에 따라 최대 2 배까지 향상됩니다. 이것은 WAN을 통해 FTP로 전송할 때 Windows 2000 및 2003에서 유용했습니다. 단점은 네트워크 패킷에 대해 단지 몇 KB 만 필요로하는 다른 모든 네트워크 트래픽에 대한 오버 헤드를 증가시킬 수 있지만 현재 64KB 패킷으로/recv를 보내기를 강요 받고 있다는 것입니다. 귀하의 마일리지가 다를 수 있습니다.

편집 : 정확히 달성하려는 것은 무엇입니까? 청중은 누구입니까?나는 당신이 당신 자신의 네트워크를 통해이를 수행하려고하는 것으로 생각하고있다. 하지만 당신은 클라이언트 측이 인터넷상의 누군가라고 암시하는 것 같습니다. 우리는 명확한 요구 사항이 필요하다고 생각합니다.

1

"이 파일을 다운로드하려면 Free Download Manager을 설치하는 것이 좋습니다. 그러면 파일을 다시 시작할 수 있고 다운로드 속도를 높일 수 있다는 이점이 있습니다." 개인적으로

내가 사용 아무것도를 다운로드 결코 내가 (예 : Gmail의 첨부 파일)

관련 문제