전체 포스트백 없이 AJAX 업데이트 패널에서 파일 업로드
업데이트 패널이 있고 업데이트 패널에 파일 업로드 컨트롤과 버튼 컨트롤이 있고 버튼 클릭 시 업데이트 패널에 있는 파일 업로드 컨트롤에 있는 파일이 필요합니다.
정확한 시나리오, 페이지에 8개의 탭이 있고, 각 탭에 너무 많은 정보가 포함되어 있습니다. 탭 중 하나가 첨부 파일입니다. 사용자가 새 첨부 파일 추가 모달 팝업을 클릭하면 Modal에 업데이트 패널의 상세 보기가 포함되어 있고 상세 보기에서 파일 업로드 컨트롤이 있습니다. 사용자가 저장 버튼을 눌렀을 때 상세 보기 삽입 이벤트가 발생했습니다.삽입 이벤트에서는 업로드한 파일이 필요합니다.
제 페이지가 무겁기 때문에 전체 게시물을 돌려받고 싶지 않습니다.
이 문제에 대한 해결책을 가지고 있는 사람이 있습니까?
당신의 친절한 도움에 미리 감사드립니다...
이 문제를 해결하려면 다음 단계를 참조하십시오.
- 상세 보기에 ajax-upload를 추가합니다.
- Resource#1과 같은 iframe 기반 업로더.
- Silverlight 기반 & Flash 기반 업로더.현재 업로드 상태를 표시하기 위해 서버측 스크립트가 필요 없기 때문에 이 기법이 좋습니다.그러나 HTML5에서는 웹 브라우저 플러그인을 사용하지 않고 이것을 만들 수 있습니다.
- Resource#2.와 같은 상용 업로더로 업로드를 위해 숨겨진 iframe을 사용합니다.
임시 위치에 파일을 업로드합니다.
- 시스템이 임시 위치에 응답합니다.다음으로, 클라이언트는 상세하게 숨겨진 입력 형태로 임시 위치를 유지합니다.
- session_id로 임시 위치를 유지합니다.데이터베이스에 저장하거나 프레임워크에 따라 세션 변수를 저장할 수 있습니다.
저장 버튼을 클릭하면 시스템이 파일을 실제 위치로 이동합니다.
주. 시스템은 만료된 파일을 임시 위치에서 자동으로 삭제합니다.
자원
갱신하다
거의 1년이 지난 후에, 저는 이 질문에 대한 제3자 통제권을 찾았습니다.이것은 jQuery의 오픈소스 플러그인입니다.HTML5, Silverlight, Flash 또는 일반 폼을 사용하여 파일을 업로드 할 수 있는 Plupload라는 이름으로 업로드 진행률, 이미지 크기 조정 및 청크된 업로드와 같은 몇 가지 독특한 기능을 제공합니다.
클라이언트에 협력 바이너리를 설치하지 않으면 할 수 없습니다.AJAX 프레임워크가 파일의 내용을 읽고 서버로 보낼 수 있는 안전한 메커니즘은 없습니다.브라우저는 파일 입력 상자의 다중 부분 양식 게시물로만 이를 지원합니다.
문제는 HTML 파일 업로드 컨트롤이 작동하는 방식과 ASP.net 과는 무관하다는 것입니다. 파일 업로드 컨트롤이 작동하려면 양식 데이터의 전체 게시물이 필요합니다.실제 업로드를 수행하는 숨겨진 iframe에서 모든 작업을 수행하여 전체 포스트백을 수행하지 않는 경우에만 시뮬레이션할 수 있습니다.
이 기능을 제공하는 사이트에서는 일반적으로 플래시나 iframe을 사용하여 iframe에서 포스트백이 발생하여 ajax 요청이 있는 것처럼 착각하게 합니다.
HTH
원샷
저는 swfuppload(http://swfupload.org/), 를 시도해 보았지만, IE 브라우저가 아닌 사용자가 양식 인증을 사용할 경우 후프를 통해 이동해야 한다는 것을 명심해야 합니다.이것은 분명히 플래시 버그이며, 플래시 10에 고정되어 있지 않습니다.이 버그 때문에 프레임워크에 사용하는 것을 반대하기로 결정했지만, 그렇지 않으면 훌륭한 제품이었습니다.
YUI에서 업로더 위젯을 추천합니다.http://developer.yahoo.com/yui/uploader/ 참조
당신의 목표를 달성하기 위해 그것을 사용할 수 있다고 생각합니다.javascript는 업로드를 완료한 후 서버에서 클라이언트로 파일을 다시 가져와야 합니다.그러나 페이지가 새로 고쳐지지 않습니다. 업로드는 플래시와 숨겨진 iframe을 통해 이루어집니다.파일의 내용을 사용자에게 보여주기 위한 다운로드는 ajax를 통해 이루어질 것입니다.
사용자가 업로드를 "승인"하지 않을 경우, 파일을 삭제하기 위해 서버에 다른 ajax 호출을 하기만 하면 됩니다.
언급URL : https://stackoverflow.com/questions/797190/file-uploading-in-ajax-updatepanel-without-full-postback
'programing' 카테고리의 다른 글
iframe 로드 완료 이벤트 캡처 (0) | 2023.09.08 |
---|---|
Oracle SQL Developer에서 BLOB(JSON 포함)를 편집하려면 어떻게 해야 합니까? (0) | 2023.09.08 |
Jquery 바인딩 더블클릭과 싱글클릭 별도 (0) | 2023.09.03 |
지정된 열의 백분위수 통계 찾기 (0) | 2023.09.03 |
파워셸 마우스를 움직여도 유휴 모드가 방지되지 않습니다. (0) | 2023.09.03 |