2009-05-22 2 views
9

친구와 저는 인터넷을 통해 대용량 파일을 보내는 가장 좋은 방법을 논의했습니다. FTP, 단일 웹 서비스, 청킹 바이트 여러 웹 서비스, HTTP 파일 포스트 (멀티 파트 메시지), RIA 인터페이스 (SilverLight 또는 Flash).대용량 파일 (30MB +) 인터넷을 통해 업로드 할 때 더 좋은 옵션은 무엇입니까?

누락 된 답변이나 해결책이 있습니까?

내 구체적인 상황을 좀 더 알려 드리겠습니다.

ASP.NET 응용 프로그램과 웹 서비스로 상호 작용하는 .NET 2.0 Windows Form "클라이언트"응용 프로그램이 있습니다. 클라이언트 응용 프로그램에서 큰 파일을 업로드하고 업로드 상태를 사용자에게 알리는 기능이 필요합니다. 하나의 웹 서비스를하고 있었지만 파일 크기가 인터넷에서 문제가 있다는 것을 알았습니다. 그래서 여러 웹 서비스를 만들어 바이트 배열을 청크했습니다. 자, 다른 옵션을 고려하고 싶습니다.

일부 조사 완료 ...

실버 라이트 파일 .NET에서 www.codeplex.com/SilverlightFileUpld

ASP.NET 파일 업로드 www.brettle.com/neatupload

FTP 업로드 프레임 워크 www.windowsdevcenter.com/pub/a/windows/2006/12/12/building-ftp-services-using-net-20.html

다른 의견이 필요합니다. 감사.

+0

BZip2와 같이 모든 종류의 압축을 사용하고 있습니까? – BobbyShaftoe

답변

5

우리는이 문제가 있으며 우리는 세 번의 호출로 웹 서비스 솔루션을 사용합니다. 하나는 프로세스를 시작하고 두 번째는 파일의 청크를 보내고 세 번째는 프로세스를 끝내기 위해 매력처럼 작동합니다.

0

나는 플래시/실버 라이트 옵션 (일반적으로 .NET과 훌륭하게 통합되므로 Silverlight)의 일부입니다. 두 옵션 모두 안정적인 빠른 메커니즘으로 작업중인 페이지를 끊지 않는 파일을 업로드 할 수 있습니다. 업로드가 진행되는 동안 다른 작업을 수행하는 사용자 (해당 작업이 다른 페이지로 이동하지 않는다고 가정).

여러 파일을 동시에 업로드 할 수있는 플래시 기반 업로드 서비스의 정말 좋은 예는 DeviantArt.com의 업로드 편향 페이지에 있습니다. 업로드 할 파일을 선택할 수 있습니다. 그러면 브라우저에서 작동하는 것으로 배경에서 전송됩니다 (일부 경우 플래시를 사용할 수없는 경우 파일 요청을 제출하는 숨겨진 iframe이 생성되는 경우가 있습니다). 현재 업로드중인 각 파일에 대한 비동기 진행 표시기가있는 파일 아이콘.

플래시/실버 라이트의 추가 된 장점 중 하나는 제출하기 전에 클라이언트 측에서 파일과 상호 작용할 수있어 데이터가 맬웨어, 스크립트 등이 아닌지 확인하는 등의 작업을 수행 할 수 있다는 것입니다. 일반적으로 웹 브라우저에 일반적으로 존재하는 권한 제한으로 인해 고전적인 파일 업로드 및 자바 스크립트가 어렵거나 불가능합니다. (이유가 있습니다.)

Silverlight를 사용하면 웹과 상호 작용할 수있는 최상의 옵션이됩니다. 서비스 (고전적인 ASMX 서비스를 가정하지만 WCF 인 경우 Silverlight도 WCF에 대한 탁월한 지원을 제공합니다.)

0

많은 훌륭한 플래시 업로드 스크립트 그리고 인상적인 기능을 가지고 있습니다.

내가 가장 좋아하는 사람은 Solmetra Flash Uploader이고 online demo은 인상적이며 너비와 높이를 0으로 설정하고 Javascript로 스크립트 할 수도 있습니다.

다른 옵션은 SWFUpload 일 수 있습니다. 덜 화려하지만 필요에 따라 더 잘 수행 될 수 있습니다. online demo도 있습니다.

심지어 Gmail uses flash to upload attachments.

관련 문제