webForumDet fria alternativet

fso.createfolder

9 svar · 526 visningar · startad av henkepenka

henkepenkaMedlem sedan sep. 2002132 inlägg
#1

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

OveRRidEMedlem sedan feb. 20018 509 inlägg
#2

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

henkepenkaMedlem sedan sep. 2002132 inlägg
#3

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?

OveRRidEMedlem sedan feb. 20018 509 inlägg
#4

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.

henkepenkaMedlem sedan sep. 2002132 inlägg
#5

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

OveRRidEMedlem sedan feb. 20018 509 inlägg
#6

Är det i samma mapp, då?

henkepenkaMedlem sedan sep. 2002132 inlägg
#7

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

OveRRidEMedlem sedan feb. 20018 509 inlägg
#8

OveRRidE skrev:

Är det i samma mapp, då?

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

henkepenkaMedlem sedan sep. 2002132 inlägg
#9

Problemet löst...

OveRRidEMedlem sedan feb. 20018 509 inlägg
#10

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.

Genererad på 512 ms · cache AV · v20260730165559-full.f96bc7eb