問題を解決しようとしています。最大長が 10 MB の fileupload コントロールを使用してファイルをアップロードしたい (たとえば)。ファイルのサイズをすべて制御しましたが、10 MB を超えるファイルをアップロードしようとすると、ブラウザに「ページ違反」ページが表示されます。
サーバー側でエラーを傍受する方法はありますか?
皆さん、ありがとうございました
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
StatusLabel.Text = Server.MapPath("~/prova")
+ FileUpload1.PostedFile.FileName;
if (!IsPostBack)
{
var config = WebConfigurationManager.OpenWebConfiguration("~");
var section = config.GetSection("system.web/httpRuntime")
as HttpRuntimeSection;
section.MaxRequestLength = 10485760*200;
}
HyperLink hl = new HyperLink();
}
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
if (Page.IsValid)
{
try
{
string filename = Path.GetFileName(FileUpload1.FileName);
FileUpload1.SaveAs(Server.MapPath("~/prova") + filename);
}
catch (Exception ex)
{
StatusLabel.Text = "Upload status: The file could not be"
+ " uploaded. The following error occured: "
+ ex.Message;
}
}
}
}
protected void CustomValidator1_ServerValidate(object source,
ServerValidateEventArgs args)
{
if (FileUpload1.FileContent.Length < 10485760)
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}