---
title: "Uploadscript utan komponent"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/46131-uploadscript-utan-komponent/page10"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "OveRRidE"
published: "2002-06-18T07:09:05.000Z"
updated: "2007-09-04T23:17:00.000Z"
replies: 307
views: 16870
page: 10
pages: 16
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/46131-uploadscript-utan-komponent"
---

# Uploadscript utan komponent

_Sida 10 av 16._

## #181 — @nders, 2003-07-23T16:45Z

<http://www.itgymnasiet-k.net/it6/koffedesign/vvk2/uploadkomponentlos/upload/5.jpg>

Lade du den inte i uploadmappen? :)

Mvh

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

## #182 — k0ffe, 2003-07-23T16:47Z

Jojo, det funkar nu.

Men vad menas med sökvägen?

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

## #183 — k0ffe, 2003-07-23T16:48Z

"Filens sökväg: d:\\domains\\itgymnasiet-k.net\\www\\it6\\koffedesign\\vvk2\\uploadkomponentlos\\absolut86.jpg"

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

## #184 — @nders, 2003-07-23T16:50Z

Sökvägen på serverns hårddisk. Det saknas dock **upload\\** i den sökvägen för att den ska vara korrekt.

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

## #185 — k0ffe, 2003-07-23T16:51Z

Jo, men det funkar ju iaf :)

Tack för all "hjälp" :D

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

## #186 — @nders, 2003-07-23T16:51Z

Vassegoo!

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

## #187 — Melea, 2003-07-23T17:21Z

Borde det inte funka o lägga till den här raden innan filen uploadas...

```
If FSO.FileExists("/Creative/warcraft/replays/" & filename) then

Session("fel") = "Det finns redan en replay med det namnet"
Response.Redirect "../admin.asp?login=yes&add=replay"

Else
```

den funkar iaf inte, får felmeddelandet:

Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: 'FSO'

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

## #188 — @nders, 2003-07-23T17:25Z

Antingen så har du då inte skapat objektet FSO, eller så har du förstört det tidigare i koden.

Mvh

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

## #189 — Melea, 2003-07-23T17:27Z

Hm, vet inte riktigt själv, så här ser koden ut:

```
<!-- #include file="../../data.inc" -->
<%

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

username =  UploadRequest.Item("username").Item("Value")
info =  UploadRequest.Item("info").Item("Value")
player1 =  UploadRequest.Item("player1").Item("Value")
player2 = UploadRequest.Item("player2").Item("Value")
player1race = UploadRequest.Item("player1race").Item("Value")
player2race = UploadRequest.Item("player2race").Item("Value")
map = UploadRequest.Item("map").Item("Value")

contentType = UploadRequest.Item("filename").Item("ContentType")
filepathname = UploadRequest.Item("filename").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("filename").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("/Creative/warcraft/replays/" & filename))

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

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Driver={MySQL ODBC 3.51 Driver};server="&strserver&";uid="&struser&";pwd="&strpass&";database="&strdb&"" 

	sql = "insert into wc3_replay (filename, username, info, player1, player2, player1race, player2race, map, datum) values ('" & filename & "', '" & username & "', '" & info & "','" & player1 & "','" & player2 & "', '" & player1race & "','" & player2race & "','" & map & "','" & datum & "')"
	Connect.Execute(sql),,128

	Connect.Close : Set objConnect = Nothing

MyFile.Close

[b]If FSO.FileExists("/Creative/warcraft/replays/" & filename) then

Session("fel") = "Det finns redan en replay med det namnet"
Response.Redirect "../admin.asp?login=yes&add=replay"

Else[/b]

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
[b]End If[/b]
Response.Redirect "../admin.asp?login=yes&add=replay"
%>
```

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

## #190 — @nders, 2003-07-23T17:31Z

```
Set [b]ScriptObject[/b] = Server.CreateObject("Scripting.FileSystemObject")
```

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

## #191 — Melea, 2003-07-23T17:33Z

Jag har redan skapat det ju? :/

```
<!-- #include file="../../data.inc" -->
<%

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

username =  UploadRequest.Item("username").Item("Value")
info =  UploadRequest.Item("info").Item("Value")
player1 =  UploadRequest.Item("player1").Item("Value")
player2 = UploadRequest.Item("player2").Item("Value")
player1race = UploadRequest.Item("player1race").Item("Value")
player2race = UploadRequest.Item("player2race").Item("Value")
map = UploadRequest.Item("map").Item("Value")

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

'Create FileSytemObject Component
[b]Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")[/b]

'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("/Creative/warcraft/replays/" & filename))

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

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Driver={MySQL ODBC 3.51 Driver};server="&strserver&";uid="&struser&";pwd="&strpass&";database="&strdb&"" 

	sql = "insert into wc3_replay (filename, username, info, player1, player2, player1race, player2race, map, datum) values ('" & filename & "', '" & username & "', '" & info & "','" & player1 & "','" & player2 & "', '" & player1race & "','" & player2race & "','" & map & "','" & datum & "')"
	Connect.Execute(sql),,128

	Connect.Close : Set objConnect = Nothing

MyFile.Close

[b]If FSO.FileExists("/Creative/warcraft/replays/" & filename) then

Session("fel") = "Det finns redan en replay med det namnet"
Response.Redirect "../admin.asp?login=yes&add=replay"

Else[/b]

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,bou
ndary)
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
[b]End If[/b]
Response.Redirect "../admin.asp?login=yes&add=replay"
%>
```

eller?

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

## #192 — @nders, 2003-07-23T17:34Z

Ja, **ScriptObject**. Det är ju bara det att det är ju inte Scriptobject du försöker använda.

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

## #193 — Melea, 2003-07-23T17:35Z

Ursäkta min "dumhet" men vad är det jag ska använda isåfall? :OO

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

## #194 — @nders, 2003-07-23T17:36Z

Eftersom ditt filsystemsobjekt inte heter **FSO**, utan **Scriptobject**, så byt **FSO** i koden mot **Scriptobject**.

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

## #195 — k0ffe, 2003-07-23T17:40Z

Vet någon vad det här kan betyda??

Request object error 'ASP 0208 : 80004005' 

Cannot use generic Request collection 

/it6/koffedesign/vvk2/admin/skicka_n.asp, line 74 

Cannot use the generic Request collection after calling BinaryRead.

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

## #196 — Melea, 2003-07-23T17:42Z

Okej, tack :)

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

## #197 — Melea, 2003-07-23T17:51Z

HM! Koden funkar inte som den ska, den gör allting efter **Else** ändå!

Någon som har en aning om varför den inte funkar?

```
If ScriptObject.FileExists("/Creative/warcraft/replays/" & filename) then

Session("fel") = "Det finns redan en replay med det namnet"
Response.Redirect "../admin.asp?login=yes&add=replay"

Else
```

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

## #198 — solbulle, 2003-07-23T17:54Z

k0ffe: Du försöker antagligen använda dig av request.form eller likandne, du ska använda 

typ:

info =  UploadRequest.Item("info").Item("Value")

Btw, vad menade du egentligen när du skrev:

> **k0ffe skrev:**
>
> Tack för all "hjälp" :D

Såg snudd på lite sarkastiskt ut.

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

## #199 — solbulle, 2003-07-23T17:55Z

```
If ScriptObject.FileExists(server.mappath(("/Creative/warcraft/replays/" & filename)) then

Session("fel") = "Det finns redan en replay med det namnet"
Response.Redirect "../admin.asp?login=yes&add=replay"

Else
```

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

## #200 — Melea, 2003-07-23T17:58Z

Man tackar o bugar :birp

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/46131-uploadscript-utan-komponent/page10  
Föregående sida: https://www.webforum.nu/amne/asp/46131-uploadscript-utan-komponent/page9.md  
Nästa sida: https://www.webforum.nu/amne/asp/46131-uploadscript-utan-komponent/page11.md
