2012-03-12 2 views
0

Я работаю над формой, в которой пользователь может отправить файл через asp: fileupload, но хочет отобразить конкретное сообщение об ошибке, если пользователь загружает файл, превышающий 10 МБ. Однако, когда я помещаю оператор try catch, мое сообщение об ошибке не отображается, а только по умолчанию. Как я могу убедиться, что он отображается?исключение максимальный размер файла asp: fileupload

Try 
      If fuAttach.HasFile Then 
       Dim filename As String = fuAttach.FileName 
       fuAttach.SaveAs(Server.MapPath("~/") + filename) 
       Dim reqContext As SoapContext = SDWS.RequestSoapContext 
       Dim dimeAttach As New DimeAttachment("image/gif", TypeFormat.MediaType, HttpContext.Current.Request.MapPath("~/" & fuAttach.FileName)) 
       reqContext.Attachments.Add(dimeAttach) 
       SDWS.createAttachment(SID, "doc_rep:400842", objectHandle, "description", fuAttach.FileName) 
       File.Delete(Server.MapPath("~/") + filename) 
       lblThankyou.Text = "<p style = ""font-size: small"">Thank you, your request has been submitted!</br></font></br></br>You will receive an email in several minutes from [email protected] confirming that a ticket has been entered into our system.</p>" 
      Else 
       lblThankyou.Text = "<p style = ""font-size: small"">Thank you, your request has been submitted!</br></font></br></br>You will receive an email in several minutes from [email protected] confirming that a ticket has been entered into our system.</p>" 
      End If 
     Catch 
      lblThankyou.Text = "<p style = ""font-size: small"">Your file upload may not exceed 10MB</br></font></br></br></p>" 
     End Try 

ответ

1

Вы должны быть в состоянии найти ответы на некоторые вопросы здесь:

https://stackoverflow.com/search?q=asp.net+max+file+upload+size&submit=search

UPDATE

Настройка его для файлов до 15MB:

<configuration> 
    <system.web> 
    <httpRuntime maxRequestLength="15360" /> 
    </system.web> 
</configuration> 
+0

Я уже установил максимальную длину. То, о чем я спрашиваю, - это как обработка исключений, когда пользователь превышает эту длину. – jsmith

+0

Какое сообщение об ошибке вы получаете? (закомментируйте попытку catch и посмотрите ...) – IrishChieftain

+0

Это ошибка, которую я получаю: Максимальная длина запроса превышена. Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде. Сведения об исключении: System.Web.HttpException: Максимальная длина запроса превышена. – jsmith

0

Вы выиграли не в состоянии chec k размер файла перед загрузкой, поскольку сервер еще не получил весь файл. И нет API-интерфейса для доступа к файловой системе в браузерах. Я нашел, что некоторые люди сделали это с javascript в IE here, используя объект файловой системы ActiveX, но он не будет работать в других браузерах.

Есть более эффективные решения для обработки больших загрузок файлов в ASP.NET. Пользовательский HttpHandler может обеспечить лучший пользовательский интерфейс, отображая ход загрузки и позволяя более эффективно управлять проблемой размера файла. Если вас интересует, был длинный список сообщений Форума here.

Вы также можете обратиться к сторонним элементам управления, таким как NeatUpload, который является бесплатным.

Смежные вопросы