Использовать fileUpload.PostedFile.FileName
Также лучше проверить, был ли загружен какой-либо файл, используя свойство fileUpload.HasFile
.Вы также можете защититься от файлов нулевой длины, проверив fileUpload.PostedFile.ContentLength > 0
.
Редактировать: только что осознал свою ошибку
Содержимое загруженного файла необходимо сохранить надиск, используя метод fileUpload.PostedFile.SaveAs
.Приведенное выше свойство имени файла даст вам имя файла на клиентском компьютере, но файл не будет существовать на сервере.Вам нужно сохранить его где угодно на сервере.Например,
var path = Path.Combine(tempDirectory, fileUpload.PostedFile.FileNam);
fileUpload.PostedFile.SaveAs(path);
Это поместит загруженный файл во временный каталог на сервере.Вы также можете использовать PostedFile.InputStream
для чтения содержимого файла.
fs = new FileStream(path, FileMode.Open, FileAccess.Read);
никогда не будет работать, так как файл не существует на компьютере веб-сервера.
Редактировать: на основе вашего примера кода
Удалите FileStream fs = null;
и замените
fs = new FileStream(path, FileMode.Open, FileAccess.Read);
на
var fs = uploadFile.PostedFile.InputStream;
, и это должно сработать.