17. november 2003 - 11:59Der er
12 kommentarer og 1 løsning
Fejl når (Server.Mappath=Null)
Jeg har et problem med listning af filer i et directory. Hvis der er filer i en given mappe, skal disse listes, men hvis der endnu ikke er nogen - ja, så skal der naturligvis intet vises (evt. "No files uploaded yet").
Jeg har forsøgt mig med nedenstående men uden held:
If IsNull(Server.MapPath("/upload/files/records/"&request.querystring("id")&"/")) then Response.Write "No files uploaded yet" Else Function ShowFolderList() folderspec = Server.MapPath("/upload/files/records/"&request.querystring("id")&"/") Set fso = Server.CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(folderspec) Set foldercollection = folder.Files For Each file in foldercollection
tmp = tmp & "<a href='/upload/files/records/"& request.querystring("id")& "/" & file.name & "' target='_blank'>" & file.name & "</A><BR>" Next ShowFolderList = tmp End Function response.write showfolderlist() End If
Jeg tror at det er min If-sætning, der er bøvl med Mvh /U.K.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Jeg ville fjerne din if-sætning og ligge det ind i din function i stedet for. Prøv noget ala det her (har ikke testet det):
Function ShowFolderList() folderspec = Server.MapPath("/upload/files/records/"&request.querystring("id")&"/") Set fso = Server.CreateObject("Scripting.FileSystemObject") If fso.FolderExists(folderspec) Then Set folder = fso.GetFolder(folderspec) Set foldercollection = folder.Files If foldercollection.count > 0 Then For Each file in foldercollection tmp = tmp & "<a href='/upload/files/records/"& request.querystring("id")& "/" & file.name & "' target='_blank'>" & file.name & "</A><BR>" Next ShowFolderList = tmp else showfolderlist = "No files uploaded yet" end if else showfolderlist = "Folder doesn't exist" end if End Function
Helt fantastisk ... Det var præcis det, der skulle til...
Kan du forklare mig hvorledes man angiver rettigheder til at oprette mapper på serveren? Jeg får tilsyneladende en fejl, når mappen ikke eksisterer i forvejen.
Dim intFileUpload, strContentType, strFilename, intFileTotalBytes
intFileUpload = FileUpload("/upload/files/records/"& request.querystring("id") &"/", 20000, Array("", "", ""), Array("", ""), strContentType, strFilename, intFileTotalBytes) 'Den sidste del af stien er dynamisk - afhængig af ID, men der opstår fejl når mappen ikke er oprettet i forvejen.
If FSO.FolderExists(Server.MapPath("/upload/files/records/"& request.querystring("id")) = False Then FSO.CreateFolder(Server.MapPath("/upload/files/records/"& request.querystring("id")) End If ' start så din upload
Får stadig: Microsoft VBScript runtime error '800a01f4' Variable is undefined: 'FSO' - i den linie hvor jeg har indsat : Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Tak for din hjælp og tid - vil straks kaste mig over den spændende læsning..
/U.K.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.