Добавьте runat="server"
к вводу html элемента управления типом файлов, как показано в приведенном ниже коде, тогда у вас будет опубликованный файл в коде, иначе коллекция Request.Files будет пустой в коде позади.
<input type="file" name="FileUpload" class="btn btn-light" accept="image/*" runat="server"/>
Прямо сейчас, поскольку никакие файлы не публикуются, переменная postsFile имеет значение null, и поэтому, когда вы вызываете метод или обращаетесь к свойству этой переменной, она выдаст исключение нулевой ссылки. В вашем случае postedFile.FileName
вызовет это исключение в вашем коде позади.
Альтернативный раствор:
Если вы хотите не использовать атрибут runat="server"
для управления вводом типа файла, убедитесь, что ваша форма на странице имеет атрибут enctype, установленный на multipart/form-data
, как в коде ниже. Это также решит вашу проблему. Вам не нужно добавлять атрибут runat = "server", если вы придерживаетесь этого подхода.
<form id="form1" runat="server" enctype="multipart/form-data">