Ортақ дискіні пайдаланатын ASP.NET бетінде файл немесе каталог мазмұны мүмкін емес

Бұл сұрақта мен Visual Studio 2008 қолданамын. Менің кодым қарапайым, себебі ол сілтемеден пайдаланып, мен желіден алдық. Мен Windows Server 2003 қорабында ASP/VB.Net, IIS6.0 пайдаланамын.

Мен әртүрлі дереккөздерді желіде қарадым және дұрыс нәтиже бере алмадым.

Мақсаты - каталогтар мен оларға сәйкес келетін файлдарды тізімдеу және пайдаланушыға сол каталогты басқаруға мүмкіндік беру (мысалы, файлдарды ашу және жою).

Міне, менің 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>

Міне, 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

Бетті іске қосқан кезде келесі қате пайда болады:

'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, көзі
Remove 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()

& nbsp; & nbsp;

2
қосылды
Рахмет @TimSchmelter
қосылды автор RogueSpear00, көзі