---
title: "Nån som använder AspUpload ?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13280-nån-som-använder-aspupload"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "nill"
published: "2001-12-18T20:12:00.000Z"
updated: "2001-12-19T19:49:00.000Z"
replies: 2
views: 199
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/13280-nån-som-använder-aspupload"
---

# Nån som använder AspUpload ?

## #1 — nill, 2001-12-18T20:12Z

Mitt Webhotell har komponenten AspUpload. 
Behöver ett litet enkelt script där användaren ska kunnaladda upp en bild (gif eller jpg)... filnamet ska bli Variabel.jpg/gif   och kunna skriva över befintlig  variabel.jpg/gif..  Samt MaxStorlek 20Kb eller något.

Någon här måste ju sitta på något sådant litet script som jag kan pilla med?

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

## #2 — McD, 2001-12-19T07:48Z

Du kan ladda ner en demo av programmet där följer det med en massa olika script som du kan använda. Finns i stort sett script för samtliga olika former som man kan använda det. Sen är det bara upp till dig att mixtra olika alternativ.

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

## #3 — nill, 2001-12-19T19:49Z

Hittils har jag använt detta script för upload.. 
Kanske går det att konfiguera så att mina krav uppfylls ?

Här kommer mycket kod:

uploadaction.asp

\<%@ Language=VBScript %\>
\<!-- #include file="adovbs.mupp" --\>
\<!-- #include file="upload.asp" --\>
\<%
' Create the FileUploader
Dim Uploader, File
Set Uploader = New FileUploader

' This starts the upload process
Uploader.Upload()

'\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
' Use \[FileUploader object\].Form to access
' additional form variables submitted with
' the file upload(s). (used below)
'\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

' Check if any files were uploaded
If Uploader.Files.Count = 0 Then
	Response.Write "File(s) not uploaded."
Else
	' Loop through the uploaded files
	For Each File In Uploader.Files.Items
		' Save the file 
		File.SaveToDisk server.mappath("/klass/upload/")
		' Output the file details to the browser
		Response.Write "File Uploaded: " & File.FileName & "\<br\>"
		Response.Write "Size: " & File.FileSize & " bytes\<br\>"
		Response.Write "Type: " & File.ContentType & "\<br\>\<br\>"

	%\>\<!-- #include virtual="/klass/asp/include/koppling_upload.asp" --\>\<%

	Uppa = "SELECT \* FROM upload "
   	RecSet.Open Uppa, Connect, adOpenStatic, adLockOptimistic

	RecSet.AddNew
	RecSet("path") = File.FileName
	RecSet("storlek") = File.FileSize
	RecSet("fron") = Session("namn")
	RecSet("datum") = Date
	RecSet.Update 
	
	RecSet.Close
	Connect.Close

	Next

	Response.Redirect "normal.asp?what=upload"
End If

%\>

'\>\>\>\>\>\>\>\>\>\>\>\>     också upload.asp

\<%
Class FileUploader
	Public  Files
	Private mcolFormElem

	Private Sub Class_Initialize()
		Set Files = Server.CreateObject("Scripting.Dictionary")
		Set mcolFormElem = Server.CreateObject("Scripting.Dictionary")
	End Sub
	
	Private Sub Class_Terminate()
		If IsObject(Files) Then
			Files.RemoveAll()
			Set Files = Nothing
		End If
		If IsObject(mcolFormElem) Then
			mcolFormElem.RemoveAll()
			Set mcolFormElem = Nothing
		End If
	End Sub

	Public Property Get Form(sIndex)
		Form = ""
		If mcolFormElem.Exists(LCase(sIndex)) Then Form = mcolFormElem.Item(LCase(sIndex))
	End Property

	Public Default Sub Upload()
		Dim biData, sInputName
		Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos
		Dim nPosFile, nPosBound

		biData = Request.BinaryRead(Request.TotalBytes)
		nPosBegin = 1
		nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
		
		If (nPosEnd-nPosBegin) \<= 0 Then Exit Sub
		 
		vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
		nDataBoundPos = InstrB(1, biData, vDataBounds)
		
		Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--"))
			
			nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition"))
			nPos = InstrB(nPos, biData, CByteString("name="))
			nPosBegin = nPos + 6
			nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
			sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
			nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename="))
			nPosBound = InstrB(nPosEnd, biData, vDataBounds)
			
			If nPosFile \<\> 0 And  nPosFile \< nPosBound Then
				Dim oUploadFile, sFileName
				Set oUploadFile = New UploadedFile
				
				nPosBegin = nPosFile + 10
				nPosEnd =  InstrB(nPosBegin, biData, CByteString(Chr(34)))
				sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
				oUploadFile.FileName = Right(sFileName, Len(sFileName)-InStrRev(sFileName, "\\"))

				nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:"))
				nPosBegin = nPos + 14
				nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
				
				oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
				
				nPosBegin = nPosEnd+4
				nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
				oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
				
				If oUploadFile.FileSize \> 0 Then Files.Add LCase(sInputName), oUploadFile
			Else
				nPos = InstrB(nPos, biData, CByteString(Chr(13)))
				nPosBegin = nPos + 4
				nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
				If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
			End If

			nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData, vDataBounds)
		Loop
	End Sub

	'String to byte string conversion
	Private Function CByteString(sString)
		Dim nIndex
		For nIndex = 1 to Len(sString)
		   CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1)))
		Next
	End Function

	'Byte string to string conversion
	Private Function CWideString(bsString)
		Dim nIndex
		CWideString =""
		For nIndex = 1 to LenB(bsString)
		   CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1))) 
		Next
	End Function
End Class

Class UploadedFile
	Public ContentType
	Public FileName
	Public FileData
	
	Public Property Get FileSize()
		FileSize = LenB(FileData)
	End Property

	Public Sub SaveToDisk(sPath)
		Dim oFS, oFile
		Dim nIndex
	
		If sPath = "" Or FileName = "" Then Exit Sub
		If Mid(sPath, Len(sPath)) \<\> "\\" Then sPath = sPath & "\\"
	
		Set oFS = Server.CreateObject("Scripting.FileSystemObject")
		If Not oFS.FolderExists(sPath) Then Exit Sub
		
		Set oFile = oFS.CreateTextFile(sPath & FileName, True)
		
		For nIndex = 1 to LenB(FileData)
		    oFile.Write Chr(AscB(MidB(FileData,nIndex,1)))
		Next

		oFile.Close
	End Sub
End Class
%\>

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/13280-nån-som-använder-aspupload
