webForumDet fria alternativet

Hur får man bilden att sparas

ASP

17 svar · 463 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

Har inte lyckats med att spara filen till disk och även in i databasen, nån som kan hjälpa???????

'Option Explicit

Dim objUpload
Dim strName
dim objFile
Dim objFile2
Dim varyErrors
Dim iErr
Dim blnErr

blnErr = False

Set objUpload = New overrUpload
	strName = objUpload("txtName")

	'Response.Write("Textfield txtName = " & strName)

	'## -- get the first file for upload --
	Set objFile = objUpload.Form("theFile")
		'## -- check if we have a file --
		If objFile.IsFile Then
			'## -- file exists. proceed saving file. --
			Call objFile.SaveToFile(Server.MapPath("/images/gallery/" & objFile.Filename), True)
			'## -- check if any errors occured --
			If objFile.HasErrors Then
				blnErr = True
				'## -- HUSTON! we got errors. proceed --
				'## -- get all error messages --
				varyErrors = objFile.GetErrors()
				'## -- loop through all errors --
				For iErr = 0 TO UBound(varyErrors)
					'## -- print out error --
					Response.Write(varyErrors(iErr) & "<hr>")
				Next
			End If
		End If
	Set objFile = Nothing
	
	'## -- get second file for upload --
	Set objFile2 = objUpload.Form("anotherFile")
		'## -- check if we have a file --
		If objFile2.IsFile Then
			'## -- file exists. proceed saving file. --
			Call objFile2.SaveToFile(Server.MapPath("/images/gallery/" & objFile2.Filename), True)
			'## -- check if any errors occured --
			If objFile2.HasErrors Then
				blnErr = True
				'## -- HUSTON! we got errors. proceed --
				'## -- get all error messages --
				varyErrors = objFile2.GetErrors()
				'## -- loop through all errors --
				For iErr = 0 TO UBound(varyErrors)
					'## -- print out error --
					Response.Write(varyErrors(iErr) & "<hr>")
				Next
			End If
		End If
	Set objFile2 = Nothing
Set objUpload = Nothing

%>

<%
Dim objConn
varTillhor= Session ("userID")
varInlagd = Now()
varNamn=strName
	SET objConn = connect()
	picture = "INSERT INTO tblUsers_Galleri"
	picture = picture & "(bild,tillhor,inlagd,alt) "
	picture = picture & "VALUES(objFile.Filename,"& varTillhor &",#"& varInlagd&"#,"& varNamn &")"
	'objConn.Execute picture
response.write picture
%>
<!--#include virtual="/pictureupload/upload1.asp"-->
<%'## -- check if we have any errors. If no errors redirect user to default page --
If blnErr = False Then Response.Redirect("/pictureupload/default1.asp")

ingenting händer efter uppladdning

Medlem sedan mars 20015 287 inlägg
#2

Samma felmess som sist?

Jag skulle tippa, fast jag har haft en ganska hög felprocent på sista tiden ;) , att du får fel pga du har stängt ditt objekt, objFile, fast du försöker sen använda det.
Om du inte ens har lyckats spara filen till disk, får du felmess?
Finns mappen /images/gallery/?
Du ser ut att utgå från roten där.

Medlem sedan feb. 20032 027 inlägg
#3

solbulle skrev:

Samma felmess som sist?

Jag skulle tippa, fast jag har haft en ganska hög felprocent på sista tiden ;) , att du får fel pga du har stängt ditt objekt, objFile, fast du försöker sen använda det.
Om du inte ens har lyckats spara filen till disk, får du felmess?
Finns mappen /images/gallery/?
Du ser ut att utgå från roten där.

Mappen finns och först fick jag felmess, object required....men nu bara kommer jag tillbaka till uppladdningssidan utan att nåt har sparats eller laddats upp

Medlem sedan mars 20015 287 inlägg
#4

Kommentera bort raden med Response.Redirect och se vad du får för felmess samt sql-utskrift

Medlem sedan feb. 20032 027 inlägg
#5

INSERT INTO tblUsers_Galleri(bild,tillhor,inlagd,alt) VALUES(objFile.Filename,1,#2004-08-31 00:13:16#,test) när jag skriver ut

När jag ändrar objFile.Filename till '"&objFile.Filename&"' får jag
Microsoft VBScript runtime error '800a01a8'

Object required

/pictureupload/outputfile1.asp, line 74

Medlem sedan mars 20015 287 inlägg
#6

För enkelhetens skull, testa att flytta ner raden:

Set objFile = Nothing

till längst ner på sidan.

Medlem sedan feb. 20032 027 inlägg
#7

solbulle skrev:

För enkelhetens skull, testa att flytta ner raden:

Set objFile = Nothing

till längst ner på sidan.

INSERT INTO tblUsers_Galleri(bild,tillhor,inlagd,alt) VALUES(Blåa kullar.jpg,1,#2004-08-31 00:21:47#,test)

och
Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'Blåa kullar.jpg'.

/pictureupload/outputfile1.asp, line 75

när jag exekverar

Rad 75 är objConn.Execute picture

Medlem sedan mars 20015 287 inlägg
#8

picture = picture & "VALUES('"& objFile.Filename & "',"& varTillhor &",#"& varInlagd&"#,'"& varNamn &"')"

Medlem sedan feb. 20032 027 inlägg
#9

solbulle skrev:

picture = picture & "VALUES('"& objFile.Filename & "',"& varTillhor &",#"& varInlagd&"#,'"& varNamn &"')"

Nu kan du minska din felprocent, tack så jättemycket

Medlem sedan nov. 20017 144 inlägg
#10

Alla strängar abc_-"%eD?...osv skall omslutas av ' (enkelfnuttar)

Medlem sedan feb. 20032 027 inlägg
#11

Jesper T skrev:

Alla strängar abc_-"%eD?...osv skall omslutas av ' (enkelfnuttar)

några filer gick fint, nu får jag
Request object error 'ASP 0104 : 80004005'

Operation not Allowed

/pictureupload/upload1.asp, line 145 ERROR: Couldn´t find the form-field - txtname - in the collection.

Medlem sedan mars 20015 287 inlägg
#12

txtname, har du ett fält som heter så i din form? Eller försöker du använda dig av det?
Koden på oh runt rad nr 145?

Medlem sedan feb. 20032 027 inlägg
#13

solbulle skrev:

txtname, har du ett fält som heter så i din form? Eller försöker du använda dig av det?
Koden på oh runt rad nr 145?

ett fält som heter txtName måste finnas enligt skaparen av scriptet för att slippa nåt fel

Kodrad 135-155

	Dim UploadControl	'## -- replace with array --
		Dim pos				' As Integer
		Dim Name			'## -- remove. save to array --
		Dim posFile			' As Integer
		Dim posBound		' As Integer
		Dim Value			'## -- remove. save to array --
		Dim Filename		'## -- remove. save to array --
		Dim ContentType		'## -- remove. save to array --
		
		ByteCount = Request.TotalBytes
		RequestBin = Request.BinaryRead(byteCount)
		
			'# Begin boundary
			PosBeg = 1
			'PosEnd = InstrB(PosBeg, RequestBin, getByteString(chr(13)))
			PosEnd = InstrB(PosBeg, RequestBin, GetBytesFromString(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 & GetBytesFromString("--")))
				'Members variable of objects are put in a dictionary object
Medlem sedan mars 20015 287 inlägg
#14

WebbisNet skrev:

ett fält som heter txtName måste finnas enligt skaparen av scriptet för att slippa nåt fel

Hm... det där förstår jag inte riktigt, källa?

Medlem sedan feb. 20032 027 inlägg
#15

scriptet kommer från Override

Medlem sedan mars 20015 287 inlägg
#16

Jo, och du har verkligen det fältet med i din form som du skickar till scriptet?
Du har inte bytt namn på det eller något?

Red,/ skriver som en trött mupp.

Medlem sedan feb. 20032 027 inlägg
#17

<form action="/pictureupload/outputfile1.asp" method="post" enctype="multipart/form-data" name="form1">
Bild 1 <input class="textbox" name="theFile" type="file" id="theFile">

<p>
<!--Bild 2 <input class="textbox" name="anotherFile" type="file" id="anotherFile">-->
<p>
<!--Other field:-->
<input name="txtName" type="text" id="txtName" value="test"><br>
<input class="button" type="submit" name="Submit" value="Skicka fil">
</form>

Medlem sedan feb. 20032 027 inlägg
#18

Varför får jag

Request object error 'ASP 0104 : 80004005' 

Operation not Allowed 

/pictureupload/gallery/outputfile.asp, line 10

med raden RequestBin = Request.BinaryRead(byteCount)

hoppas att nån kan lösa problemet

filerna ligger på Http://www.webbisen.com/download/gallery.zip

255 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)