나는 건축물에 문제가 있는지, 아니면 바로 해결이 필요한지 알아 내려고하고있다.Request.Files로 작업하고 페이지를 다시로드하지 않고 POST에서 GET으로 변경 하시겠습니까?
나는 내 페이지에 다음과 같습니다
<div ID="UploadDashboardDecorationZone">
<fieldset id="UploadDashboard">
<legend>Upload Dashboard</legend>
<telerik:RadUpload ID="UploadDashboardSelector" Runat="server" Width="235px" AllowedFileExtensions=".xml" MaxFileInputsCount="1" ControlObjectsVisibility="None" />
</fieldset>
<div class="BottomButton">
<telerik:RadButton ID="SubmitUploadDashboardButton" Runat="Server" Text="Upload" OnClientClicked="CloseUploadDashboard" />
</div>
</div>
사용자들이 업로드 할 파일을 선택하고, 그 후에는 SubmitUploadDashboardButton를 누릅니다.
protected void Page_Init(object sender, EventArgs e)
{
if (Request.Files.Count > 0) HandleUploadedFile();
}
이 모두 잘 작동 :
나는 다음 서버 측 코드가 있습니다. 업로드 된 파일에 응답하고 내 페이지에서 변경 사항을 확인합니다. 유일한 문제는 내 페이지의 요청 HTTP 메소드를 POST가 아닌 GET으로 남겨 두었습니다. 즉, 사용자가 페이지를 새로 고침하면 문제가 발생합니다.
Page.Response.Redirect(Page.Request.Url.ToString(), true);
불행하게도,이 더 이상 나를 위해 작동하지 않습니다
이전에, 나는이 문제를 해결하려면 다음 코드 조각을 사용했다. 나는 다시로드 할 때 발생하는 깜박임을 원하지 않는다.
다른 옵션은 무엇입니까? UploadDashboardDecorationZone
을 UpdatePanel로 감싸는 경우 Request.Files는 0으로 나옵니다.
일반적인 빠른 수정 코드가 있습니까? 아니면 파일 업로드 프로세스가 어떻게 작동하는지에 대한 더 깊은 이해가 부족합니다.
감사합니다.
DevExpress를 사용하여 한 번 읽은 메소드는 숨겨진 IFRAME에 POST하는 업로드 방법을 제공하므로 기본 페이지를 새로 고치는 관점에서 "투명"합니다. 어쩌면이 방법으로 Telerik 컨트롤을 구성 할 수 있습니까? –
이 방법에 대해 약간의 독서를해야 할 것입니다. 제안 해 주셔서 감사합니다! :) –
최근 프로젝트에서는 HTML5 File API를 사용하여 XmlHttpRequest 객체 (AJAX라고도 함)를 통해 파일을 업로드하는 데 성공했습니다.이 API는 전체 페이지 POST도 없음). 하지만 현대적인 브라우저가 필요합니다. –