---
title: "angående upload script"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/9693-angående-upload-script"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "daniel_jn"
published: "2001-05-22T20:57:00.000Z"
updated: "2001-05-23T17:48:00.000Z"
replies: 2
views: 128
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/9693-angående-upload-script"
---

# angående upload script

## #1 — daniel_jn, 2001-05-22T20:57Z

Hej

Det här uploadscriptet hittade jag lite längre ner i detta forum.

När man laddar upp en fil så
vill jag att filnamnet ska bli
en 1 t.e.x 1.gif, 1.txt osv..

jag vet att jag kan använda mig av en variabel t.e.x  U = 1
men vart nånstans i det här scriptet ska jag lägga i variablen U

\<%	@EnableSessionState	= False %\>
\<%	Option Explicit %\>
\<%	Response.Expires	= 0 %\>
\<%
	Dim UPLOAD_PATH
		UPLOAD_PATH	= ("/home/b1580/public_html/nyheter/gamecube/bilder/")

	Dim g_oFso, g_oFolder, g_oFile
		Set g_oFso	= Server.CreateObject("Scripting.FileSystemObject")
		Set g_oFolder	= g_oFso.getFolder(UPLOAD_PATH)

	If (Request.ServerVariables("REQUEST_METHOD") = "POST") Then
		Dim g_oUpload
			Set g_oUpload	= get_upload_files()

		Dim fpos, fcontent
			fcontent	= g_oUpload("upload").Item("content")
		Set g_oFile	= g_oFso.CreateTextFile(UPLOAD_PATH & "" & extract_filename(g_oUpload("upload").Item("filename")))
		For fpos = 1 to LenB(fcontent)
			g_oFile.Write chr(AscB(MidB(fcontent, fpos, 1)))
		Next
		g_oFile.Close: Set g_oFile	= Nothing

		Response.Redirect Request.ServerVariables("SCRIPT_NAME")
	End If

	Response.Write "\<html\>\<body\>\<table\>"
	Response.Write "\<tr\>\<td\>\<hr\>\</td\>\</tr\>"
	For Each g_oFile In g_oFolder.Files
		Response.Write "\<tr\>\<td\>\<a href=""files/" & g_oFile.Name & """\>" & g_oFile.name & "\</a\>\</td\>\</tr\>"
	Next
	Response.Write "\<tr\>\<td\>\<hr\>\</td\>\</tr\>"
	Response.Write "\<tr\>\<td align=""right""\>\<form name=""frmUpload"" method=""post"" enctype=""multipart/form-data"" action=""" & Request.ServerVariables("SCRIPT_NAME") & """\>"
	Response.Write "\<input type=""file"" name=""upload""\> &nbsp; \<input type=""submit"" value=""upload""\>\</td\>\</tr\>"
	Response.Write "\</table\>\</body\>\</html\>"

%\>
\<%
	Function get_upload_files()
		Dim	upload_object, request_binaries
		Dim position_start, position_end
		Dim boundary, boundary_pos

		Set upload_object	= Server.CreateObject("Scripting.Dictionary")
		request_binaries	= Request.BinaryRead(Request.TotalBytes)
		position_start		= 1
		position_end		= InstrB(position_start, request_binaries, get_byte_string(chr(13)))
		boundary			= MidB(request_binaries, position_start, (position_end - position_start))
		boundary_pos		= InstrB(1, request_binaries, boundary)

		Do Until (boundary_pos = InstrB(request_binaries, boundary & get_byte_string("--")))
			If Not(Response.IsClientConnected) Then Response.End

			Dim name, pos_file

			position_start	= (InstrB(InstrB(boundary_pos, request_binaries, get_byte_string("Content-Disposition")), request_binaries, get_byte_string("name=")) + 6)
			position_end	= InstrB(position_start, request_binaries, get_byte_string(chr(34)))

			name			= get_string(MidB(request_binaries, position_start, (position_end - position_start)))
			pos_file		= InstrB(boundary_pos, request_binaries, get_byte_string("filename="))

			If  ((pos_file \<\> 0) AND (pos_file \< InstrB(position_end, request_binaries, boundary))) Then
				upload_object.Add name, Server.CreateObject("Scripting.Dictionary")

				position_start	= (pos_file + 10)
				position_end	= InstrB(position_start, request_binaries, get_byte_string(chr(34)))
				upload_object.item(name).Add "filename", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

				position_start	= (InstrB(position_end, request_binaries, get_byte_string("Content-Type:")) + 14)
				position_end	= InstrB(position_start, request_binaries, get_byte_string(chr(13)))
				upload_object.item(name).Add "content-type", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

				position_start	= (position_end + 4)
				position_end	= InstrB(position_start, request_binaries, boundary) - 2
				upload_object.item(name).Add "size", ((position_end - position_start))
				upload_object.item(name).Add "content", MidB(request_binaries, position_start, (position_end - position_start))
			End If
			boundary_pos	= InstrB(boundary_pos + LenB(boundary), request_binaries, boundary)
		Loop

		Set get_upload_files = upload_object
	End Function

	Function get_byte_string(str)
		Dim cnt
		For cnt = 1 to Len(str)
			get_byte_string	= get_byte_string & chrB(AscB(Mid(str, cnt, 1)))
		Next
	End Function

	Function get_string(str)
		Dim cnt
		For cnt = 1 to LenB(str)
			get_string	= get_string & chr(AscB(MidB(str, cnt, 1))) 
		Next
	End Function

	Function extract_filename(filename)
		extract_filename	= Right(filename, Len(filename) - InStrRev(filename, "\\", -1, 1))
	End Function
%\>

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

## #2 — rymdknark, 2001-05-23T06:33Z

raden där det står:
Set g_oFile = g_oFso.CreateTextFile(UPLOAD_PATH & "" & extract_filename(g_oUpload("upload").Item("filename")))

kan vara typ:
Set g_oFile = g_oFso.CreateTextFile("vilketfilnamnduvill.fil")

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

## #3 — daniel_jn, 2001-05-23T17:48Z

Hej igen

tack för svaret
nu undrar jag en till sak

Om man klickar på upload knappen utan att klicka på bläddra knappen och då formuläret är helt tomt så ska en bild på servern laddas upp till bildkatalogen på servern istället

Det här är sökvägen till den katalogen där bilden laddas upp från
("/home/user/public_html/nyheter/

Jag vet att jag kan använda mig av en if sats men är inte säker på hur jag ska göra

tacksam försvar

//Daniel

("/home/b1580/public_html/nyheter/

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/9693-angående-upload-script
