---
title: "Uploadscript utan komponent"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/46131-uploadscript-utan-komponent/page11"
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: 11
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 11 av 16._

## #201 — Melea, 2003-07-23T18:02Z

Fast nu så går det inte o uploada alls pga. att If satsen utförs även om det inte finns en fil i katalogen..

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

## #202 — k0ffe, 2003-07-23T18:04Z

solbulle \>\> Det var skitsamma med det felet...

Jaha, haha, nejdå. Tyckte inte att det var någon riktig hjälp när jag själv inte riktigt förstod vad jag ville ha hjälp med... lr nåt :)

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

## #203 — solbulle, 2003-07-23T18:37Z

Melea: Anledningen till att dety inte fungerar är väl att du gör kollen efter att du laddat upp filen...

Du lär väl till att behöva sätta den där kollen innan du laddar upp den nya filen.
Flytta upp kollen med FSO till precis under denna rad:

Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

k0ffe: Hmm.

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

## #204 — solbulle, 2003-07-23T18:42Z

```
<!-- #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")

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

'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

End If
Response.Redirect "../admin.asp?login=yes&add=replay"

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
%>
```

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

## #205 — Melea, 2003-07-23T19:18Z

Det var där jag la koden men det funkar fortfarande inte...

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

## #206 — solbulle, 2003-07-23T21:06Z

Ok... jag tyckte inte det såg ut som det, jag trodde du hade gjort som du visade här: <http://www.webforum.nu/showthread.php?s=&postid=683135#post683135>

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

## #207 — Melea, 2003-07-24T08:23Z

Hm, jag flyttade om koden lite själv efteråt.. men de funkade inte :OO

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

## #208 — Melea, 2003-07-27T22:10Z

Jahapp, tar upp en gammal tråd :-)

Skulle vilja ha så man kan uploada GIF filer också.. just nu har jag den här koden:

```
If NOT contentType="image/pjpeg" THEN
Session("fel") = "Det måste vara JPG!"
Response.Redirect "../admin.asp?login=yes&show=picture&editID=" & editID & " "
End If
```

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

## #209 — Melea, 2003-07-28T21:21Z

Vore också bra om man kunde byta namn på filen automatiskt när man uploadar den till sitt ID

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

## #210 — Melea, 2003-07-28T22:00Z

Har fått svar på de här 2 senaste frågorna, nevermind :P

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

## #211 — k0ffe, 2003-08-01T12:14Z

Flera bilder!

Jag har ett litet problem, om man vill ladda upp flera bilder med hjälp av detta skript, hur ska man då gå tillväga? Har prövat lite olika saker men utan att lyckas...

Den som är inloggad ska kunna skapa ett nytt "galleri", först skriva en rubrik för galleriet, som sedan ska länka till bilderna som skribenten efter att ha skrivit rubriken skall kunna ladda upp.

Hoppas nån förstod vad jag menar.

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

## #212 — solbulle, 2003-08-01T12:53Z

<http://www.webforum.nu/showthread.php?s=&threadid=6531&highlight=ladda+AND+upp+AND+flera>

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

## #213 — k0ffe, 2003-08-01T13:39Z

Ja, jo, men hur får man in resten? Det är ju samma script, bara att du inte är tvungen att ladda upp en bild för att gå vidare?

Utförligare förklaring uppskattas...

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

## #214 — k0ffe, 2003-08-01T13:49Z

\*host\*
Glöm det jag skrev...

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

## #215 — solbulle, 2003-08-01T13:50Z

Jag förstår inte frågan.

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

## #216 — k0ffe, 2003-08-01T14:09Z

Hur gör jag nu för att få in bildernas namn i databasen? Eftersom alla heter  "Filename" blev jag lite förvirrad...

Exempel:

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0; "&\_
"Data Source="&Server.MapPath("ncjcj")

SQLStmt = "INSERT INTO bildarkiv (nyh_bild1, nyh_bild2, rubrik, forfattare) "
SQLStmt = SQLStmt & "VALUES('" & filename & "', '" & filename & "', '" & rubrik & "', '" & Session("Namn") & "') "

Set RS = Connection.Execute(SQLStmt)

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

## #217 — solbulle, 2003-08-01T15:24Z

Är det andra fält än just filen så har ju de fälten andra namn...
Annars om du kör varianten med en loop så kanske du kan lägga filnamnet i olika variabelnamn för varje varv loopen gör... Lite luddigt kanske..

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

## #218 — k0ffe, 2003-08-01T16:59Z

Ok, men jag gjorde på ett annat sätt.
Jag skapade en ny tabell för bara bilderna, så dom får läggas till med separat ID i en egen tabell.

Problemet är ju bara det, att när jag nu har rubrik, forfattare etc i en tabell, och själva bilderna i en annan, så följer ju inte bilderna med som dom ska med querystring. 

T.ex

 Rubrik 1    -  7 bilder (2 bilder)
 Rubrik 2    - 5 bilder (3 bilder)
 Rubrik 3   - 2 bilder

Är du med solis?

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

## #219 — solbulle, 2003-08-01T17:45Z

Det är helt klart för varmt för mig idag...

Men om det är som så att du har flera bilder till en artikel/rubrik så tycker jag att en relationstabell är en bra lösning.

tblartikelbild

id - bildid - rubrikid

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

## #220 — k0ffe, 2003-08-01T18:33Z

Ok, det har jag försökt med, utan att lyckas :(

Den ena tabellen heter bildarkiv.

forfattare          rubrik          arkiv         datum

Och den andra heter visa_bild.

bild             ID           datum

Jag vet inte hur jag ska få till det...

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

---

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