질문 1 : 만 제공 라우팅 패턴의 업로드 제한을 설정하는 방법이 있나요?
<location>
노드가 동적 URL을 지원하지 않기 때문에 알고 있지 않습니다. 하지만 url rewrite module을 사용하여 속임수를 쓸 수 있습니다. 이 컨트롤러에 맞게 구성된 일부 노선이 있고
public class PicturesController
{
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file, int dynamicValue)
{
...
}
}
:
routes.MapRoute(
"Upload",
"{dynamicvalue}/ConvertModule/Upload",
new { controller = "Pictures", action = "Upload" },
new { dynamicvalue = @"^[0-9]+$" }
);
확인을 지금 설치 다음을하자
그래서 당신이 컨트롤러 처리 파일 업로드를 가지고 있다고 가정하자 웹에서 규칙을 다시 작성하십시오.설정 :
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="rewrite the file upload path" enabled="true">
<match url="^([0-9]+)/ConvertModule/Upload$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="pictures/upload?dynamicvalue={R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
를 지금까지 너무 좋아, 지금 당신은 설치 <location>
pictures/upload
에 수 : 다시 것 {dynamicvalue}/ConvertModule/Upload
하고 URL 재 작성 모듈 :
<location path="pictures/upload">
<system.web>
<!-- Limit to 200MB -->
<httpRuntime maxRequestLength="204800" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<!-- Limit to 200MB -->
<requestLimits maxAllowedContentLength="209715200" />
</requestFiltering>
</security>
</system.webServer>
</location>
이제 당신은 다음과 같은 패턴의 URL로 업로드 할 수 pictures/upload?dynamicvalue={dynamicvalue}
에 그것을하지만 <location>
태그 pictures/upload
일치 성공적으로 제한이 적용됩니다 :
<form action="/123/ConvertModule/Upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<button type="submit">OK</button>
</form>
을
질문 2 : 업로드 크기가 초과되면 사용자 지정 경고를 표시 할 수 있습니까?
아니요, 더 큰 값으로 제한을 설정하고 업로드 처리기에서 파일 크기를 확인해야합니다. 그리고 클라이언트 (HTML5, Flash, Silverlight, ...)에서 파일 크기를 확인할 수 있다면 대역폭을 낭비하지 않도록하십시오.
두 가지 질문이 있습니다. 최상의 응답을 얻기 위해 별도로 게시 할 수 있습니다. 질문 2에 대한 답변 : 업로드 크기를 초과하면 서버에서 오류 응답을 표시합니다. 원하는 경우 해당 응답에 대한 특정 오류 페이지를 응용 프로그램에 표시 할 수 있습니다. –
web.config에서 업로드 시간을 변경해야합니다. 기본으로 2MB 파일 – Oedum