2015-05-22 4 views
0
Protected Sub AddFileButton_Click(ByVal sender As Object, _ 
     ByVal e As System.EventArgs) 

     If FileUploader.HasFile Then 

      Dim fileSize = FileUploader.PostedFile.ContentLength 

      If fileSize > 1048576 Then 
       Info.Text = "This file exceeds the allowed file size (1 MB). Please resize the image or select another file." 
       Return 

      ElseIf fileSize < 1 Then 
       Info.Text = "This file does not have enough content to send. Please choose another file." 
       Return 

      Try 
       Dim extension = System.IO.Path.GetExtension(FileUploader.FileName) 
       Dim uniqueFileName = System.Guid.NewGuid.ToString() & extension 
       FileUploader.SaveAs("\\filepath\" & FileUploader.FileName) 
      Catch ex As Exception 
       Info.Text = "ERROR: " & ex.Message.ToString() 
      End Try 
      End If 
     End If 
    End Sub 

файла По какой-то причине не ударяя If fileSize > 1048576 Then или Else If fileSize < 1 Then. Он просто выполняет Try and Catch и отображает ошибку, если она превышает предел 1mb, определенный мной в моем web.config.Тестирование Максимальный размер

Есть ли синтаксис или логическая ошибка, которую я не вижу?

+0

Ошибка говорит вам о проблеме. Вам нужно зайти в ваш файл Web.Config и увеличить свою «MaxRequestLength». Посмотрите на [эту ссылку] (http://www.codeproject.com/Articles/ 10842/Настройка-Web-config-to-allow-uploading of-large) – Icemanind

+0

Я не хочу увеличивать размер файла. Я хочу сообщить пользователю, что файл, который они выбрали для загрузки, слишком велик, и что они должны загружать меньшие файл. – Christian4423

+0

fileSize используется в инструкции ELSE без инициализации. Вы должны правильно отложить свой код, и вы увидите, насколько странным является ваш оператор if. –

ответ

1

Check file size before upload

Клиент Выгрузка Отмена

На современных браузерах (FF> = 3,6, Chrome> = 19,0, Opera> = 12,0, и багги на сафари), вы можете использовать HTML5 File API. Когда значение входного файла изменяется, этот API позволит вам проверить, соответствует ли размер файла вашим требованиям. Конечно, это, как и MAX_FILE_SIZE, может быть изменено, поэтому всегда используйте проверку на стороне сервера.

document.forms [0] .addEventListener ('Submit', функции (ЭВТ) { уаг файл = document.getElementById ('файл') файлы [0];. если (файл && file.size
+0

Мне это нравится. К сожалению, с праздником большинство моих боссов отправились на 4-дневный уик-энд, поэтому я не буду знать, хотят ли они еще реализовать эту идею. Я не уверен, хотят ли они, чтобы клиент был на стороне клиента из-за безопасности. Но я расскажу об этом. – Christian4423

+0

независимо от того, реализует ли ваш босс, если ответ действительно, пожалуйста, отметьте или отметьте как правильно – JJS

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