Не вдається вказати список файлів або вміст каталогу на сторінці ASP.NET за допомогою спільного диска

У цьому питанні я використовую Visual Studio 2008. Мій код дуже простий, як це було використано з посиланням, який я захопив із Інтернету. Я використовую ASP/VB.Net, IIS6.0 у вікні Windows Server 2003.

Я переглянув різні джерела в Інтернеті та не зміг скласти правильний результат.

Мета цього полягає в тому, щоб перерахувати кількість каталогів та їх відповідні файли, і дозволити користувачеві в кінцевому рахунку керувати цим каталогом (наприклад, відкрити та видаляти файли).

Ось моя сторінка ASPX:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="DirectoryList.aspx.vb" Inherits="VCMReports.DirectoryList" %>




<title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> 
  
    
    
    
  
  

    </div>
    </form>
</body>
</html>

And here is the CodeBehind:

Imports System.IO
Imports System.IO.DirectoryInfo

Partial Public Class DirectoryList
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim dirInfo As New DirectoryInfo(Server.MapPath("V:\Users\"))

        articleList.DataSource = dirInfo.GetFiles("V:\Users\")
        articleList.DataBind()

    End Sub
    Protected Sub GetFiles()

        Dim files() As String = Directory.GetFiles("V:\Users\")

        Dim myDir As DirectoryInfo = New DirectoryInfo("V:\Users\")
        Dim fileInfos() As IO.FileInfo = myDir.GetFiles("*.*")
    End Sub

When launching the page, the following error appears:

'V:\Users\' is not a valid virtual path. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Web.HttpException: 'V:\Users\' is not a valid virtual path.

Що я намагався:

  1. На сервері я позначив диск та каталог.
  2. Дозволи, здається, правильно встановлено, атакож виправлено.
  3. Якщо я хотів би перелічити каталог у фактичному каталозі "C: \ Inetpub \ Directory \", не буде помилок.
  4. Я розумію, що це неповна частина списку каталогів, це лише список файлів (так що це потрібно буде змінити.
  5. Я намагався створити віртуальний каталог, а додаток представив таку саму помилку.
  6. На моїй локальній машині розробки я створив той самий шлях - однакова помилка.

Як я можу переглянути вміст спільного каталогу та його файлів?

0
додано Автор Tim Schmelter, джерело
Для кожного каталогу як DirectoryInfo У myDir.GetDirectories()
додано Автор Tim Schmelter, джерело
Видалено Server.MapPath, а потім змінено GetFile ("V: \ users \") на GetFile (". ") і змогли успішно завантажити файли. Друга частина питання, і я можу попросити це в новій гілці, якщо це потрібно, - це як я можу змінити цю функцію на список каталогів?
додано Автор RogueSpear00, джерело

1 Відповіді

Here you find the answer on your first part of the question, why Server.MapPath cannot(and should not) be used to resolve the path to a network share: http://forums.asp.net/t/785846.aspx/1

Друге питання, згадане у вашому коментарях, - це список всіх каталогів в каталозі:

myDir.GetDirectories()

http://msdn.microsoft.com/en-us/library/s7xk2b58.aspx

2
додано
Дякую @TimSchmelter
додано Автор RogueSpear00, джерело
var chat = new Chat();
var chat = new Chat();
642 учасників

Обсуждение вопросов по C# / .NET / .NET Core / .NET Standard / Azure Сообщества-организаторы: — @itkpi — @dncuug