2010-08-24 6 views
1

사용자가 데이터베이스 레코드를 만들고 데이터베이스 서버에 업로드 할 파일을 선택할 수있는 웹 페이지가 있습니다. 이 파일들은 100MB와 같이 커질 수 있습니다.ASP.NET 백그라운드에서 파일 업로드 (BITS/AJAX?)

나는 사용자가 기다리기를 원하지 않기 때문에 파일을 백그라운드에서 업로드하고 싶습니다. 파일을 업로드하는 동안 다른 작업을 계속할 수 있습니다.

BITS가이 문제를 해결할 수 있습니까? 아니면 Fatclient 개발을 위해서입니까? 어떤 좋은 tuterials ?

BITS가 갈 길이 없다면 어떤 옵션이 있습니까? 파일 위치가있는 서비스에 대한 ajax 호출?

+0

아약스처럼 파일을 게시 할 수 없기 때문에 업로드가 완료 될 때까지 사용자가 (진행률 막대를 사용하여) 대기하게하는 것으로 생각됩니다. – Ivo

+0

사용자가 페이지에있는 동안 업로드가 수행 될 수 있지만 사용자는 대기 중에 다른 작업을 수행 할 수 있습니다. 이것이 바로 아약스 업로드 컴포넌트가 들어있는 부분입니다. 내가 언급 한 Valums 컨트롤은 페이지에 숨겨진 iframe을 생성하므로 업로드가 발생합니다. 사용자가 페이지에서 다른 작업을 수행 할 수 있습니다 (Gmail 사용). –

답변

1

"다른 작업을 계속할 수있다"는 말은 동일한 웹 페이지에서 다른 Ajax 요청을 수행 할 수 있음을 의미합니다 (즉, 멀리에서 탐색하지 않는 경우). Flash 기반 업 로더 (SWFUploadmany 중 하나임). 여기에는 일부 JavaScript, <input type="file"> 및 내장 플래시 업 로더가 필요하지 않습니다.

업로드를 시작하는 페이지에서 사용자가 이동할 수있게하려면 브라우저 내에서 실제로 수행 할 수 없습니다. 최소한 모든 브라우저에서 WebSockets이 완전히 구현되어야합니다. 그때조차도, 그것은 아주 어려울 것입니다.

+0

"다른 것들을해라"는 말은 내 뜻대로 – Ivo

+0

사용자가 웹 페이지에서 업로드를 시작한 다음 www.cnn.com에서 검색 주소창에 펀치를 올리고 업로드가 계속되기를 원합니 까? 사용자가 업로드 페이지에서 웹 사이트 또는 cnn.com의 다른 페이지로 이동하는지 여부는 관련성이 없습니다. 업로드 페이지에서 벗어나서 이동하는 것은 중요하며, Flash 업 로더가 끝나지 않게 할 것입니다. –

0

BITS가 당신을 위해 속임수를 쓰지 않을 것이라고 생각합니다. 필자는 한번도 사용해 본 적이 없지만 웹 응용 프로그램을 통해 액세스 할 수있는 것 같지 않습니다. Windows 클라이언트 응용 프로그램이나 Windows 서비스에 더 적합합니다.

Andrew Valums AJAX 업로드 제어 (http://valums.com/ajax-upload/) 또는 업로드 (http://www.uploadify.com/)를 고려해 볼 수 있습니다. 이들은 모두 jQuery AJAX 컨트롤입니다 (그리고 uploadify는 플래시 필요). 웹 응용 프로그램 개발을 위해 jQuery와 함께 작업하므로 이러한 컨트롤의 일부입니다. Valums의 업로드 컨트롤을 여러 프로젝트에 사용했고 매우 잘 작동합니다. Flash 요구 사항 때문에 실제 프로덕션 응용 프로그램에서는 uploadify를 사용하지 않았습니다 (그러나 매우 훌륭하게 보입니다). 나는 다른 JavaScript 프레임 워크를위한 다른 AJAX 업로드 도구가 있다고 확신한다.

도움이 되었기를 바랍니다.

0

이 게시물은 약간 오래된 것으로 알고 있지만 같은 문제가있었습니다. 내 해결 방법은 파일 업로드 컨트롤 및 매개 변수 만 통합하여 문서를 저장할 위치를 결정하는 작은 팝업 창을 사용하는 것입니다. 사용자는 작은 팝업 창에서 파일을 업로드 할 수 있으며 파일을 업로드하는 동안 원래 브라우저 창에서 원하는 곳 어디서나 계속 찾아 볼 수 있습니다. 실제로는 떠나지 않기 때문입니다. 같은 배에 타인을위한 생각.