---
title: "TextStreamObject"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/43116-textstreamobject"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "mobilhits"
published: "2002-05-05T13:40:24.000Z"
updated: "2002-05-06T12:27:33.000Z"
replies: 20
views: 366
page: 1
pages: 2
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/43116-textstreamobject"
---

# TextStreamObject

_Sida 1 av 2._

## #1 — mobilhits, 2002-05-05T13:40Z

Hej snälla hjälp mej med detta!

Jag har en fil som jag har denna koden i:
\<input type=""file"" name=""upload""\> osv..

Varför registrerar den inte filnamnet när jag andvänder denna kod?

\----------
Dim C, O
Set C = CreateObject("Scripting.FileSystemObject")
Set O = C.CreateTextFile("c:\\windows\\skrivbord\\iller.txt")

O.WriteLine ""&upload&""

O.Close
\---------------------

När man öppnar iller.txt sen så är den tom.. varför? Jag får ju inget felmeddelande heller...
Är det inte "&upload&"  man ska andvända?

Hoppas på svar! Tack på förhand..

Mvh Anders

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

## #2 — Rinaldo, 2002-05-05T13:42Z

O.WriteLine ""&request.form("upload")&""

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

## #3 — mobilhits, 2002-05-05T13:46Z

Det funkade inte med O.WriteLine ""&request.form("upload")&""

Jag får detta felet: 
Det går inte att använda samlingen Request.Form efter att BinaryRead har anropats. 

Varför?

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

## #4 — Sico, 2002-05-05T13:52Z

du måste öppna filen innan du ska skriva till den
Set O = C.OpenTextFile("c:\\windows\\skrivbord\\iller.txt")

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

## #5 — LarsG, 2002-05-05T13:53Z

Du får använda det form-objekt som upload skapar.

Hur ser koden för upload ut?

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

## #6 — mobilhits, 2002-05-05T13:57Z

Vaddå form-objektet?? Förklara..

tack på förhand..

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

## #7 — Sico, 2002-05-05T14:01Z

> Hur ser koden för upload ut?

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

## #8 — mobilhits, 2002-05-05T14:14Z

Dim C, O
Set C = CreateObject("Scripting.FileSystemObject")
Set O = C.CreateTextFile("c:\\windows\\skrivbord\\iller.txt")

O.WriteLine ""&upload&"" 

O.Close

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

## #9 — LarsG, 2002-05-05T14:47Z

Nej, det är inte den koden som är intressant. Du använder en binaryread någonstans i din kod. Oftast är det någon form av uploadskript eller komponent som gör det.  Det är den koden som är relevant i sammanhanget.

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

## #10 — mobilhits, 2002-05-05T14:49Z

\<% Response.Expires = 0 %\>
\<%
	Dim UPLOAD_PATH
		UPLOAD_PATH	 = Server.MapPath(""&userid&"/")

	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

Dim C, O
Set C = CreateObject("Scripting.FileSystemObject")
Set O = C.CreateTextFile("c:\\windows\\skrivbord\\snuttisar\\iller.txt")
Set O = C.OpenTextFile("c:\\windows\\skrivbord\\iller.txt")
O.WriteLine g_oUpload.form("upload") 

O.Close

		Response.Redirect "start.asp"

	End If

	Response.Write "\<html\>"&chr(10)&"\<body\>"&chr(10)&""&chr(10)&""
	Response.Write "\<font face=verdana size=2\>\<b\>LADDA UPP FILER\</b\>\</font\>"&chr(10)&""&chr(10)&""
	Response.Write "\<form name=""frmUpload"" method=""post"" enctype=""multipart/form-data"" action=""" & Request.ServerVariables("SCRIPT_NAME") 	& """\>"&chr(10)&""&chr(10)&""
	Response.Write "\<input type=""file"" name=""upload""\>\<br\>\<br\>\<input type=""submit"" 	value=""Ladda upp""\>"&chr(10)&""
	Response.Write "\</form\>"&chr(10)&""&chr(10)&"\</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/666124

## #11 — mobilhits, 2002-05-05T14:50Z

Har ändrat till: O.WriteLine g_oUpload.form("upload") 
Men jag får detta felet: Objektet stöder inte egenskapen eller metoden.: 'form'

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

## #12 — LarsG, 2002-05-05T16:59Z

Vad är det du vill skriva till filen iller.txt? Filnamnet?

```
O.WriteLine g_oUpload.("upload").Item("filename")
```

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

## #13 — mobilhits, 2002-05-06T12:00Z

Ja precis.. testar jag det du skrev ¨så får jag detta felet:

Identifierare förväntas. 

O.WriteLine g_oUpload.("upload").Item("filename")
\----------------------^

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

## #14 — jboy_87, 2002-05-06T12:02Z

testa och ta bort punkten

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

## #15 — Nickemannen, 2002-05-06T12:07Z

såhär e det

O.WriteLine extract_filename(g_oUpload("upload").Item("filename")))

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

## #16 — mobilhits, 2002-05-06T12:13Z

Detta fel får jag då:

Serverobjekt fel 'ASP 0177 : 800a0036' 

Server.CreateObject misslyckades 

/skrivbord/snuttisar/blimedlem/upload.asp, rad 55 

00000000

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

## #17 — Nickemannen, 2002-05-06T12:15Z

ta bort den sista ) tecknet i det jag skickade

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

## #18 — mobilhits, 2002-05-06T12:16Z

Detta fel:

Serverobjekt fel 'ASP 0177 : 800a0036' 

Server.CreateObject misslyckades 

/skrivbord/snuttisar/blimedlem/upload.asp, rad 55 

00000000

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

## #19 — Nickemannen, 2002-05-06T12:17Z

och ta bort detta 

g_oFile.Close: Set g_oFile = Nothing

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

## #20 — Nickemannen, 2002-05-06T12:21Z

Glöm allt jag skrivit och ersätt med detta ?

Dim fpos, fcontent , strFileName

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

Dim C, O 
Set C = CreateObject("Scripting.FileSystemObject") 
Set O = C.CreateTextFile("c:\\windows\\skrivbord\\snuttisar\\iller.txt") 
Set O = C.OpenTextFile("c:\\windows\\skrivbord\\iller.txt") 
O.WriteLine strFilename

O.Close

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

---

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