---
title: "fso.createfolder"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/105331-fso-createfolder"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "henkepenka"
published: "2004-06-09T12:38:39.000Z"
updated: "2004-06-09T14:11:34.000Z"
replies: 9
views: 540
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/105331-fso-createfolder"
---

# fso.createfolder

## #1 — henkepenka, 2004-06-09T12:38Z

När jag kör fso.createfolder får jag upp följande felmeddelande:

Microsoft VBScript runtime error '800a0046' 

Permission denied 

/admin/uploadpic.asp, line 37 

Varför får jag det? Använder mig av webhotellet Fs-Data...

Permalänk: https://www.webforum.nu/p/105331

## #2 — OveRRidE, 2004-06-09T12:43Z

'Permission denied' på svenska betyder 'Åtkomst nekad'. 

Den användare som är specifierad som den anonyma och som ansluter från mot IIS:en har inte rättigheter i mappen för att skapa filer/mappar. Säg till ditt webbhotell att du vill ha skrivrättigheter i de mappar som du vill skapa filer i.

Permalänk: https://www.webforum.nu/p/1366450

## #3 — henkepenka, 2004-06-09T12:45Z

Men grejen är att det är lugnt att skicka upp filer i de mappar som redan finns, men det kanske inte är samma sak som att skapa mappar?

Permalänk: https://www.webforum.nu/p/1366451

## #4 — OveRRidE, 2004-06-09T12:55Z

> **henkepenka skrev:**
>
> Men grejen är att det är lugnt att skicka upp filer i de mappar som redan finns, men det kanske inte är samma sak som att skapa mappar?

Jag antar att du menar att du kan lägga upp filer via FTP idag. 

Ditt FTP-konto är sannolikt inte samma som det konto som används för att exekvera sidor på servern under IIS:en, vilket gör att deras olika rättigheter inte rör varandra. 

Den användare jag pratar om är en användare som du aldrig märker av, som är ansvarig (och restrikerad) för att få göra vissa saker som anonym användare (som slav till dina besökare, kan man säga), t.ex. exekvera ASP-sidor, lista filer i mappar eller som i ditt fall; skriva data. 

Du måste prata med ditt webbhotell om detta, såvida du inte har tillgång till någon slags kontrollpanel där du kan ändra dessa inställningar själv.

Permalänk: https://www.webforum.nu/p/1366454

## #5 — henkepenka, 2004-06-09T13:01Z

Nej, alltså jag skickar upp filer från en asp-sida via ett uploadscript utan problem. Det är när jag ska skapa mappar som felet uppkommer...

Permalänk: https://www.webforum.nu/p/1366458

## #6 — OveRRidE, 2004-06-09T13:10Z

Är det i samma mapp, då?

Permalänk: https://www.webforum.nu/p/1366466

## #7 — henkepenka, 2004-06-09T13:11Z

Såhär ser koden ut:

```
If Request.QueryString("do") = "upload" Then

mapp = Request.QueryString("katalog")

Response.Expires=0
Response.Buffer = TRUE
Response.Clear
'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
byteCount = Request.TotalBytes
'Response.BinaryWrite(Request.BinaryRead(varByteCount))

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

'Exempel på hur man kan 'plocka ner' andra forumlärelement
'email = UploadRequest.Item("email").Item("Value")

contentType = UploadRequest.Item("blob").Item("ContentType")
filepathname = UploadRequest.Item("blob").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("blob").Item("Value")

'Create FileSytemObject Component
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

   'Create and Write to a File
	pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
	' Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
	Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/" & mapp & "/" & filename))

For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close

Response.Redirect "uploadpic.asp?do=klar&katalog=" & mapp & "&filen=" & filename & ""
'response.write "<b>Filens sökväg:</b> " & Server.mappath(filename) & "<br>"
'response.write "<b>Filnamn:</b> " & filename & "<br>"
'response.write "<b>Mappen:</b> " & mapp & "<br><br>"
'response.write "<img src=""../" & mapp & "/" & filename & """>"

Sub BuildUploadRequest(RequestBin)
'Get the boundary
PosBeg = 1
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
boundaryPos = InstrB(1,RequestBin,boundary)
'Get all data inside the boundaries
Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
'Members variable of objects are put in a dictionary object
Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")
'Get an object name
Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))
Pos = InstrB(Pos,RequestBin,getByteString("name="))
PosBeg = Pos+6
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))
PosBound = InstrB(PosEnd,RequestBin,boundary)
'Test if object is of file type
If PosFile<>0 AND (PosFile<PosBound) Then
'Get Filename, content-type and content of file
PosBeg = PosFile + 10
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
'Add filename to dictionary object
UploadControl.Add "FileName", FileName
Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
PosBeg = Pos+14
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
'Add content-type to dictionary object
ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
UploadControl.Add "ContentType",ContentType
'Get content of object
PosBeg = PosEnd+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
Else
'Get content of object
Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
PosBeg = Pos+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
End If
'Add content to dictionary object
UploadControl.Add "Value" , Value 
'Add dictionary object to main dictionary
UploadRequest.Add name, UploadControl 
'Loop to next object
BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
Loop

End Sub

'String to byte string conversion
Function getByteString(StringStr)
For i = 1 to Len(StringStr)
char = Mid(StringStr,i,1)
getByteString = getByteString & chrB(AscB(char))
Next
End Function

'Byte string to string conversion
Function getString(StringBin)
getString =""
For intCount = 1 to LenB(StringBin)
getString = getString & chr(AscB(MidB(StringBin,intCount,1))) 
Next
End Function

End If
```

jag vill att när en mapp inte finns, så ska det skapas en och där i ska bilden/filen läggas

Permalänk: https://www.webforum.nu/p/1366467

## #8 — OveRRidE, 2004-06-09T14:02Z

> **OveRRidE skrev:**
>
> Är det i samma mapp, då?

Förtydligande; är det i samma mapp/undermapp?

Permalänk: https://www.webforum.nu/p/1366479

## #9 — henkepenka, 2004-06-09T14:08Z

Problemet löst...

Permalänk: https://www.webforum.nu/p/1366482

## #10 — OveRRidE, 2004-06-09T14:11Z

Nej, inte riktigt än. ;)

Hur löste du problemet? Det skulle vara bra för andra som eventuellt hittar denna tråd i en sökning i framtiden.

Permalänk: https://www.webforum.nu/p/1366485

---

Tråden på webben: https://www.webforum.nu/amne/asp/105331-fso-createfolder
