Метод SaveAs настроен так, чтобы требовать корневого пути - помогите понять существующий блок кода

Я написал функцию для загрузки данных из таблицы Excel в форму. Тестирование с моего компьютера прошло успешно. Я перенес свой код vb.net на сервер разработчика, и теперь я получаю сообщение с корневым путем.

Мой код работает с существующим кодом, написанным кем-то другим. Я не совсем понимаю, что именно он делает, потому что нет комментариев, и я новичок в программировании.

Я думаю, что первая часть кода ищет путь к файлу, передаваемому пользователем (раздел IF), а вторая часть кода (в разделе ELSE) - на самом деле не совсем уверен, так как код кажется избыточным, Я знаю, что у нас есть временная папка на сервере. Было бы полезно понять, что делает код, чтобы я мог выяснить, куда поместить путь к серверу. Может кто-нибудь прокомментировать код, чтобы помочь мне понять?

If WebPath.Contains("localhost") Then
    FilePath = Path.Combine("c:\open", FileName)
    FileUpload1.SaveAs(FilePath)
Else
    Dim FolderPath As String = ConfigurationManager.AppSettings("FolderPath")
    FilePath = FolderPath & FileName
    FileUpload1.SaveAs(FilePath)
End If

2 ответа

Решение

Из моего понимания:

' localhost usually refers to development environment
If WebPath.Contains("localhost") Then
    FilePath = Path.Combine("c:\open", FileName)
    FileUpload1.SaveAs(FilePath)
' So if it is not localhost, the code will goes here
Else
    ' The code is trying to grab the FolderPath value from the .config file
    ' For example: web.config file
    ' Here is the example of how it may looks inside the web.config file
    ' <?xml version="1.0" encoding="utf-8" ?>
    '  <configuration>
    '   <appSettings>
    '    <add key="FolderPath" value="filepath"/>
    '   </appSettings>
    '  </configuration>
    ' So, if you want to change the location, change the "filepath" value in the web.config file
    Dim FolderPath As String = ConfigurationManager.AppSettings("FolderPath")
    ' Also use Path.Combine over here
    FilePath = Path.Combine(FolderPath,FileName)
    FileUpload1.SaveAs(FilePath)
End If

Два входа, WebPath и FileName

WebPath в любом месте содержит слово "localhost", затем сохраните файл в "c:\open\"

еще прочитайте имя папки из настройки приложения "FolderPath" и сохраните файл в

Но на самом деле, просто пошагово пройдитесь по коду с помощью отладчика и посмотрите, что делает

Другие вопросы по тегам