Kan bestands- of mapinhoud niet weergeven op de ASP.NET-pagina met Shared Drive

In deze vraag gebruik ik Visual Studio 2008. Mijn code is vrij eenvoudig, omdat deze is gebruikt van een referentie die ik van het web heb gepakt. Ik gebruik ASP/VB.Net, IIS6.0 op een Windows Server 2003-box.

Ik heb verschillende bronnen online bekeken en heb geen goed resultaat kunnen achterhalen.

Het doel hiervan is om een ​​hele reeks mappen en hun respectievelijke bestanden te vermelden en de gebruiker toe te staan ​​om die map uiteindelijk te beheren (zoals bestanden openen en verwijderen).

Dit is mijn ASPX-pagina:

<%@ 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>

En hier is de 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

Bij het starten van de pagina verschijnt de volgende foutmelding:

'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.

Dingen die ik heb geprobeerd:

  1. Op de server heb ik het station en de map in kaart gebracht.
  2. Machtigingen lijken correct ingesteld, nabootsen is correct.
  3. Als ik een map zou vermelden in de eigenlijke map "C: \ Inetpub \ Directory \", is er geen fout.
  4. Ik begrijp dat dit onvolledig is voor het gedeelte Mapvermelding, dit geeft alleen een lijst met bestanden weer (dus dit moet worden gewijzigd.
  5. Ik heb geprobeerd een virtuele map te maken en de toepassing heeft dezelfde foutmelding gegeven.
  6. Op mijn lokale ontwikkelingsmachine heb ik hetzelfde pad gemaakt - dezelfde fout.

Hoe kan ik de inhoud van een gedeelde map en zijn bestanden bekijken?

0
toegevoegd de auteur Tim Schmelter, de bron
Voor elke map Als DirectoryInfo in myDir.GetDirectories()
toegevoegd de auteur Tim Schmelter, de bron
Server.MapPath verwijderd en vervolgens GetFile ("V: \ users \") gewijzigd in GetFile (". ") en de bestanden met succes opgehaald. Het tweede deel van de vraag, en ik kan dit indien nodig in een nieuwe thread vragen, is hoe kan ik deze functionaliteit veranderen in lijstmappen?
toegevoegd de auteur RogueSpear00, de bron

1 antwoord

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

De tweede vraag die in uw opmerking wordt genoemd, is hoe u alle mappen in een directory kunt weergeven:

myDir.GetDirectories()

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

2
toegevoegd
Bedankt @ Timschmelter
toegevoegd de auteur RogueSpear00, de bron