---
title: "Hjälp med ladda upp script!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/82038-hjälp-med-ladda-upp-script"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "paddan"
published: "2003-07-15T15:13:25.000Z"
updated: "2003-07-15T16:17:59.000Z"
replies: 10
views: 344
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/82038-hjälp-med-ladda-upp-script"
---

# Hjälp med ladda upp script!

## #1 — paddan, 2003-07-15T15:13Z

Hej !
Jav ä lite oscäker var jag ska lägga koden... och vad det är för kod hihi..

Med detta cript laddar man upp bilden men jag vill att bildens namn ska sparas i en databas... allatså typ bilden.gif

Hur skajga göra???

Mvh Martin Sköld 

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

## #2 — BulletBoyCrime, 2003-07-15T15:18Z

Du ska inte använda kodtaggen då?
Jag vet, det vill du säkert inte höra, men lägg din kod inom \[ kod\]
och , utan mellanslaget i den första taggen.....ÄH
Kolla [wFkoden](http://www.webforum.nu/misc.php?s=&action=bbcode) för mer info iaf, lycka till!

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

## #3 — paddan, 2003-07-15T15:20Z

Ber om ursäkt för det.. är ganska ny på forumet!

Mvh Martin

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

## #4 — Qimen, 2003-07-15T15:23Z

Re: Hjälp med ladda upp script!

> **paddan skrev:**
>
> ..bildens namn ska sparas i en databas... allatså typ bilden.gif

Du får göra en db-koppling, göra en sql insert där hämtar bildensnamn ifrån formuläret. Svårare än så är det inte.

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

## #5 — paddan, 2003-07-15T15:29Z

Hur ser den koden ut??
hur sk jag hämta den??

Mvh Martin Sköld

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

## #6 — solbulle, 2003-07-15T15:41Z

Det där är väl knappast hela bilduppladdningsscriptet?

Hur kallar du på det?

Btw, Välkommen till wF!

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

## #7 — paddan, 2003-07-15T15:45Z

Hela koden

Upload.asp

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

uppladda.asp

```
<form name="upload" method="post" action="upload_done.asp?submit=yes" enctype="multipart/form-data">
  <font size="1" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;Tryck p&aring; 
  browse f&ouml;r att markera bild:</font><br>
  <input type="file" name="blob" enctype="multipart/form-data" size="20">
  <p> 
    <input type="submit" name="add" value="Ladda upp" >
  </p>
</form>

upload_done.asp
<!--#include file="upload_data.asp" -->
<%
If request.querystring("submit")="yes" THEN
Error = "0"

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

'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")

If contentType="image/gif" OR contentType="image/pjpeg" THEN   'KOLLAR VAD DET ÄR FÖR TYP AV FIL, I DETTA FALL ENDAST .GIF ELLER .JPG BILDER
	If byteCount<=250000 THEN			'KONTROLLERAR STORLEKEN PÅ FILEN, HÄR 250 Kb MAX
		'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(filename))  'HÄR ÄNDRAR NI SÖKVÄGEN DÄR FILEN SKA SPARAS, HÄR I SAMMA KATALOG SOM UPLOAD_DONE.ASP LIGGER I
		'response.write(Server.mappath(filename)) 
	
		For i = 1 to LenB(value)
		MyFile.Write chr(AscB(MidB(value,i,1)))
		Next
		MyFile.Close
	Else
		Error = "Bilden får inte vara större än 250 kb"
	End If
Else
Error = "Du kan bara ladda upp GIF eller JPG bilder"
End If
End If
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF">
<table width="100%" border="0" cellspacing="0" cellpadding="2">
  <tr> 
    <td colspan="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b><%
If Error<>"0" THEN
response.write "Uppladdningen misslyckades"
Else
response.write "Uppladdning klar"
End If
%></b></font></td>
  </tr>
  <tr> 
    <td width="28%">&nbsp;</td>
    <td width="72%" valign="top">&nbsp;</td>
  </tr>
  <%If Error<>"0" THEN%> 
  <tr> 
    <td width="28%" align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Orsak:</font></td>
    <td width="72%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="red"><%=Error%> 
      </font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="upload.asp"><font size="1">F&ouml;rs&ouml;k 
      igen</font></a></font></td>
  </tr>
  <%Else%> 
  <tr> 
    <td width="28%" align="right" valign="top"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Uppladdad 
      bild :</font></td>
    <td width="72%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="1"> 
      <img src="<%=filename%>" border="0"> </font></td>
  </tr>
  <%End If%> 
  <tr> 
    <td width="28%">&nbsp;</td>
    <td width="72%" valign="top">&nbsp; </td>
  </tr>
  <tr> 
    <td align="right" colspan="2">&nbsp;</td>
  </tr>
</table>
</body>
</html>
```

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

## #8 — paddan, 2003-07-15T15:46Z

Det ända jag behöver hjälp med är hur jag tar fram filnamnet!

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

## #9 — solbulle, 2003-07-15T16:08Z

Du har ju redan filnamnet i variabeln: filename  i ditt skript.
Eller?

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

## #10 — paddan, 2003-07-15T16:17Z

Kanske ddet ja..
Är inte så het på det faktiskt..!

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

## #11 — paddan, 2003-07-15T16:17Z

Ingen som har ett färdigt sådant här script??
Alltså man har ett forumlär-..
Där cäljer man fil och sedan skickas den upp till servern och filnamnet hamnar i en databas??

Mvh Martin Sköld

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/82038-hjälp-med-ladda-upp-script
