---
title: "upload"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/45483-upload"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "cupy"
published: "2002-06-08T23:22:06.000Z"
updated: "2002-06-17T00:22:09.000Z"
replies: 72
views: 1146
page: 1
pages: 4
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/45483-upload"
---

# upload

_Sida 1 av 4._

## #1 — cupy, 2002-06-08T23:22Z

kan man göra med javascript , 
om man laddar upp en bild då bilden får ett nytt namn,   
i så fall kan ni visa hur? 1000 Tack
MVH/cupy

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

## #2 — solbulle, 2002-06-09T01:31Z

Antar att du laddar upp den med asp eller dylikt?
Sök i så fall under asp och du lär finna hyfsat med svar.

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

## #3 — cupy, 2002-06-09T12:34Z

ja det ska vara asp och jag sökte men de passar inte in i min script och jag kan inte göra den själv så jag tänkte om det finns enklare lösning med jscript

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

## #4 — cupy, 2002-06-09T20:41Z

SÅ... Finns det lösning på detta?

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

## #5 — solbulle, 2002-06-09T21:21Z

Visa kod.

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

## #6 — cupy, 2002-06-09T23:04Z

räcker den? (kanske det våre bäst att  flytta tråden till asp då)

\<!--#include file="Loader.asp"--\>
\<%On Error Resume Next
	Response.Buffer = True
 	' load object
	Dim load
		Set load = new Loader
		
		' calling initialize method
		load.initialize
		
		' Check if any files were uploaded

		
	' File binary data
	Dim fileData
		fileData = load.getFileData("file")
	' File name
	Dim fileName
		fileName = LCase(load.getFileName("file"))
	' File path
	Dim filePath
		filePath = load.getFilePath("file")
	' File path complete
	Dim filePathComplete
		filePathComplete = load.getFilePathComplete("file")
	' File size
	Dim fileSize
		fileSize = load.getFileSize("file")
	' File size translated
	Dim fileSizeTranslated
		fileSizeTranslated = load.getFileSizeTranslated("file")
	' Content Type
	Dim contentType
		contentType = load.getContentType("file")
	' No. of Form elements
	Dim countElements
		countElements = load.Count
		' Value of text input field "datum"
	Dim datum
		datum = load.getValue("datum")
	
	' Value of text input field "namn"
	Dim namn
		namn = load.getValue("namn")
	' Value of text input field "telefon"
	Dim telefon
		telefon = load.getValue("telefon")	
		'\*\*\*\*\*\*\*
		' Value of text input field "rubrik"
	Dim rubrik
		rubrik = load.getValue("rubrik")
	
	' Value of text input field "epost"
	Dim epost
		epost = load.getValue("epost")	
		
	Dim kategori
		kategori = load.getValue("kategori")
	
	Dim pathToFile
	pathToFile = Server.mapPath("uploaded/") & "\\" & fileName
' Uploading file data
Dim fileUploaded
fileUploaded = load.saveToFile ("file", pathToFile)

	' destroying load object
	Set load = Nothing
 %\>

loader.asp

Class Loader
		Private dict
		
		Private Sub Class_Initialize
			Set dict = Server.CreateObject("Scripting.Dictionary")
		End Sub
		
		Private Sub Class_Terminate
			If IsObject(intDict) Then
				intDict.RemoveAll
				Set intDict = Nothing
			End If
			If IsObject(dict) Then
				dict.RemoveAll
				Set dict = Nothing
			End If
		End Sub

		Public Property Get Count
			Count = dict.Count
		End Property

		Public Sub Initialize
			Dim binData
				binData = Request.BinaryRead(Request.TotalBytes)
				getData binData
		End Sub
		
		Public Function getFileData(name)
			If dict.Exists(name) Then
				getFileData = dict(name).Item("Value")
				Else
				getFileData = stringToByte("Not Found")
			End If
		End Function
		
		Public Function getValue(name)
			If dict.Exists(name) Then
				getValue = CStr(dict(name).Item("Value"))
				Else
				getValue = "Not Found"
			End If
		End Function
	
		
		Public Function getFileName(name)
			If dict.Exists(name) Then
				Dim temp, tempPos
					temp = dict(name).Item("FileName")
					tempPos = 1 + InStrRev(temp, "\\")
					getFileName = Mid(temp, tempPos)
				Else
				getFileName = ""
			End If
		End Function
		
		Public Function getFilePath(name)
			If dict.Exists(name) Then
				Dim temp, tempPos
					temp = dict(name).Item("FileName")
					tempPos = InStrRev(temp, "\\")
					getFilePath = Mid(temp, 1, tempPos)
				Else
				getFilePath = "Not Found"
			End If
		End Function
		
		Public Function getFilePathComplete(name)
			If dict.Exists(name) Then
				getFilePathComplete = dict(name).Item("FileName")
				Else
				getFilePathComplete = "Not Found"
			End If
		End Function
		
		Public Function getFileSize(name)
			If dict.Exists(name) Then
				getFileSize = LenB(dict(name).Item("Value"))
				Else
				getFileSize = "Not Found"
			End If
		End Function

		Public Function getFileSizeTranslated(name)
			If dict.Exists(name) Then
				temp = 1 + LenB(dict(name).Item("Value"))
					If Len(temp) \<= 3 Then
						getFileSizeTranslated = temp & " bytes"
						ElseIf Len(temp) \> 6 Then
						temp = FormatNumber(((temp / 1024) / 1000), 2)
						getFileSizeTranslated = temp & " megabytes"	
						Else
						temp = FormatNumber((temp / 1024), 2)
						getFileSizeTranslated = temp & " kilobytes"
					End If
				Else
				getFileSize = "Not Found"
			End If
		End Function
		
		Public Function getContentType(name)
			If dict.Exists(name) Then
				getContentType = dict(name).Item("ContentType")
				Else
				getContentType = "Not Found"
			End If
		End Function

	Private Sub getData(rawData)
		Dim separator 
			separator = MidB(rawData, 1, InstrB(1, rawData, ChrB(13)) - 1)

		Dim lenSeparator
			lenSeparator = LenB(separator)

		Dim currentPos
			currentPos = 1
		Dim inStrByte
			inStrByte = 1
		Dim value, mValue
		Dim tempValue
			tempValue = ""

		While inStrByte \> 0
			inStrByte = InStrB(currentPos, rawData, separator)
			mValue = inStrByte - currentPos

			If mValue \> 1 Then
				value = MidB(rawData, currentPos, mValue)

				Dim begPos, endPos, midValue, nValue
				Dim intDict
					Set intDict = Server.CreateObject("Scripting.Dictionary")
		
					begPos = 1 + InStrB(1, value, ChrB(34))
					endPos = InStrB(begPos + 1, value, ChrB(34))
					nValue = endPos

				Dim nameN
					nameN = MidB(value, begPos, endPos - begPos)

				Dim nameValue
					If InStrB(1, value, stringToByte("Content-Type")) \> 1 Then

						begPos = 1 + InStrB(endPos + 1, value, ChrB(34))
						endPos = InStrB(begPos + 1, value, ChrB(34))
						
						midValue = MidB(value, begPos, endPos - begPos)
							intDict.Add "FileName", trim(byteToString(midValue))
								
						begPos = 14 + InStrB(endPos + 1, value, stringToByte("Content-Type:"))
						endPos = InStrB(begPos, value, ChrB(13))
						
						midValue = MidB(value, begPos, endPos - begPos)
							intDict.Add "ContentType", trim(byteToString(midValue))
						
						begPos = endPos + 4
						endPos = LenB(value)
						
						nameValue = MidB(value, begPos, endPos - begPos)
					Else
						nameValue = trim(byteToString(MidB(value, nValue + 5)))
					End If

					intDict.Add "Value", nameValue
					intDict.Add "Name", nameN

					dict.Add byteToString(nameN), intDict
			End If

			currentPos = lenSeparator + inStrByte
		Wend
	End Sub
	
	End Class

	Private Function stringToByte(toConv)
		Dim tempChar
		 For i = 1 to Len(toConv)
		 	tempChar = Mid(toConv, i, 1)
			stringToByte = stringToByte & chrB(AscB(tempChar))
		 Next
	End Function

	Private Function byteToString(toConv)
		For i = 1 to LenB(toConv)
			byteToString = byteToString & chr(AscB(MidB(toConv,i,1))) 
		Next
	End Function
	

%\>

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

## #7 — Jesper T, 2002-06-10T00:27Z

```
<%
  Dim fso
  Set fso = Server.CreateObject("Scripting.FileSystemObject")
  fso.MoveFile "d:\test.txt", "d:\nytest.txt"
%>
```

Skall du kunna byta filnamnet med!

MVH Jesper

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

## #8 — cupy, 2002-06-10T00:32Z

Kanske ...men problemet är att det handlar om bilder och olika typer och jag vet inte vart ska jag lägga till även om din lösning skulle fungera
MVH/cupy

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

## #9 — Jesper T, 2002-06-10T00:47Z

Skulle eventuellt, kanske kunna funka:

```
fso.MoveFile filepath & fileName, filepath & date()&"_"&fileName
```

skall byta tex: bild.gif, till 2002-06-10_bild.gif

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

## #10 — cupy, 2002-06-10T00:59Z

testade och funkar inte .....fats jag vet inte riktigt vart ska jag lägga in

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

## #11 — Jesper T, 2002-06-10T01:01Z

Har du med detta?

Dim fso
  Set fso = Server.CreateObject("Scripting.FileSystemObject")

(Som du måste ha)
....Måste sova. Godnatt :o 

Någon annan kanske kan hjälpa annars?!

MVH Jesper

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

## #12 — Jojoxx, 2002-06-10T05:48Z

(Flyttar tråden till ASP-forumet.)

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

## #13 — cupy, 2002-06-10T11:56Z

Det  som händer , vart jag är sätter in den koden i den översta koden då ändrar namnet på mina bilder som jag laddarupp Men den ändrar namnet på de som finns på min hårdisk Alltså efter upload ändras namnet på "original"bilden i min map på den bilden som jag laddatupp , därifrån jag laddat upp. Konstigt

Någon som vet vart ska jag lägga in den eller felet på den?
Tack/cupy

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

## #14 — Jesper T, 2002-06-10T12:02Z

fso.MoveFile filePathComplete & fileName, filePathComplete & date()&"\_"&fileName 

??? :r

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

## #15 — cupy, 2002-06-10T12:07Z

Med den\[fso.MoveFile filePathComplete & fileName, filePathComplete & date()&"\_"&fileName\] händer inget!

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

## #16 — Jesper T, 2002-06-10T12:11Z

Jag lämnar walk over! :stud 

MVH Jesper

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

## #17 — cupy, 2002-06-10T17:18Z

OK ..... Jag skulle behöva lite hjälp här,
någon?

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

## #18 — cupy, 2002-06-10T20:51Z

Jag vill sätta in den här lille scriptet från (Pellesoft) i min 

set rst=con.execute("select max(id) as recordid from tabell")
returnedId = rst("recordid")
rst.close

' hämtar filnamnet på sedvanligt sätt
filename = myRequestFiles(0,1)

' hämtar filextension
extension = right(filename,4)

' bygger det nya filnamnet. Eftersom det exempelvis kan stå 48, så vill vi istället
' att det skall stå 00048 och det kan man göra på följande sätt:
filename = Right("00000" & trim(returnedId), 5)

' bygger ihop det nya filnamnet
newfilename = filename & extension

....Men den funkar inte rakt av, jag behöver er hjälp!

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

## #19 — OveRRidE, 2002-06-11T06:14Z

Börja med att byta ut detta 

```
extension = right(filename,4)
```

mot detta

```
filename = "filnamnet.jpg"
extension = right(filename,len(filename) - instr(filename,".") +1)
```

Ifall filen har en ändelse som t.ex. "html" (fyra tecken) kommer inte den gamla funktionen fungera.

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

## #20 — cupy, 2002-06-11T14:43Z

Nej , Jag får bara 00000 som filnamn och inget ändelse
MVH/cupy

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/45483-upload  
Nästa sida: https://www.webforum.nu/amne/asp/45483-upload/page2.md
