webForumDet fria alternativet

Uploadscript utan komponent 2

93 svar · 6 683 visningar · startad av OveRRidE · sida 3 av 5

PatrikBMedlem sedan mars 20002 836 inlägg
#41

Vilken version av scriptet har du laddat ned?
Den senaste versionen som kan laddas ned här har inte denna "lilla bugg": http://www.webforum.nu/attachment.php?s=&postid=707341

cya,
/PatrikB

hellboyMedlem sedan aug. 200349 inlägg
#42

Fast det är den versionen jag har laddat ner.. 1.5.2.

PatrikBMedlem sedan mars 20002 836 inlägg
#43

Ok,
ladda upp sidan som du använder denna klass i så får vi kika .... kan själv inte "tvinga" fram det problemet

cya,
/PatrikB

hellboyMedlem sedan aug. 200349 inlägg
#44

Detta är sidan jag anropar från formuläret...

Har ändrat ett par grejer, och nu får jag inte längre något felmeddekande, men när man submittar formuläret står den bara och "tuggar" tills IIS inte längre fungerar kan ta emot fler användare...

<!--#INCLUDE FILE="clsUpload.asp"-->
<%
'Option Explicit

Dim objUpload
Dim strRubrik
Dim strNyhet
dim objFile
Dim varyErrors
Dim iErr
Dim blnErr
Dim connect
Dim sql
blnErr = False

Set objUpload = New overrUpload
strRubrik = objUpload.Form("rubrik")
strNyhet = objUpload.Form("nyhet")
Set objFile = objUpload.Form("theFile")

If objFile.IsFile Then

Call objFile.SaveToFile(Server.MapPath("../db/newsbilder/" & objFile.Filename), True)

If objFile.HasErrors Then
blnErr = True

varyErrors = objFile.GetErrors()

For iErr = 0 TO UBound(varyErrors)

Response.Write(varyErrors(iErr) & "<hr>")
Next
Else
set connect = server.createobject("ADODB.connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/db.mdb")
SQL= "INSERT INTO nyheter (rubrik,nyhet,fileName,datum) VALUES('" & strRubrik & "','" & strNyhet & "','" & objFile.Filename & "','" & Now() & "')"
connect.Execute(SQL)
End If
End If

Set connect= Nothing
Set objFile = Nothing
Set objUpload = Nothing

If blnErr = False Then
Response.Redirect ("admin.asp")
End if
%>

solbulleMedlem sedan mars 20015 287 inlägg
#45

Hur har du det med sökvägen där?
Som tidigare konstaterat i denna tråd bör du kanske inte fippla med placeringen av mappen classes samt deras sökväg...

hellboyMedlem sedan aug. 200349 inlägg
#46

ok.. men iom att jag bara använder denna klassen till bara en grej, kändes det enklast att lägga den i samma mapp som resten av scriptet... så sökvägen är rätt.. det jag funderar på är kanske sökvägen till mappen som bilderna ska sparas i.. Server.Mappath.. kan den användas som jag gjort?

solbulleMedlem sedan mars 20015 287 inlägg
#47

Ok.
Jag tror nog att du kan använda sökvägen som du gjort. Du kan ju lätt iofs kolla om det är det som är fel genom att skriva in en fysisk sökväg tillfälligt.
Får du något felmeddelande?
Kan det vara Norton antivirus scriptblock som spökar?

hellboyMedlem sedan aug. 200349 inlägg
#48

Nope, inget felmeddelande, inte fel på sökvägen (så vitt mina kunskaper inom området räcker) och inget virusprogram som stör.. allt som händer är att stapeln rör sig sakta framåt, men jag har inte orkat vänta för att se vad som händer när den kommer fram.. ska ju hur som helst inte ta sån tid.. . så jag är helt lost här..

LR^evil.sidMedlem sedan maj 2002560 inlägg
#49

Ursäkta. Men om jag själv vill bestämma filnamn, inte extension. Var ändrar jag då? Jag vill nämligen lägga sessionsid till namnet.

PatrikBMedlem sedan mars 20002 836 inlägg
#50

hellboy skrev:

Nope, inget felmeddelande, inte fel på sökvägen (så vitt mina kunskaper inom området räcker) och inget virusprogram som stör.. allt som händer är att stapeln rör sig sakta framåt, men jag har inte orkat vänta för att se vad som händer när den kommer fram.. ska ju hur som helst inte ta sån tid.. . så jag är helt lost här..

Kör du lokalt eller ute på webbhotellet?
Hur stor är filen du försöker att ladda upp?
Vad händer när du kör tills det säger "stopp"?

LR^evil.sid skrev:

Ursäkta. Men om jag själv vill bestämma filnamn, inte extension. Var ändrar jag då? Jag vill nämligen lägga sessionsid till namnet.

Du ändrar:

Call objFile.SaveToFile(Server.MapPath("../db/newsbilder/" & objFile.Filename), True)

till

Call objFile.SaveToFile([b]"VilkenSökVägDuVillHa" + "Filnamnet" + "." + objFile.FileExtension[/b], True)

Ser lite andra brister också som borde "snyggas till" och förbättras :e

cya,
/PatrikB

hellboyMedlem sedan aug. 200349 inlägg
#51

just nu kör jag lokalt.
filen ligger bara på ca. 400kb, och jag har inte kört tills det tar stopp nån gång.. lät det stå i ca 10 minuter igår, och då hade stapeln kommit ung. halvvägs...

dendåligeMedlem sedan jan. 2003188 inlägg
#52

hadde samma fel... du måste ändra rättigheterna för mappen... eller du kan ju iaf testa det...

PatrikBMedlem sedan mars 20002 836 inlägg
#53

Nu har jag lyckats att "tvinga fram" samma felmeddelande som du, hellboy .... "index out of range ...."

har "bugg-fixat" lite och filen kan, förhoppningsvis, snart laddas ned här: http://www.webforum.nu/showthread.php?s=&threadid=83458&forumid=148 så snart det har godkännts av moderator

Version 1.5.3 ska filen heta.

Kika också om du har samma namn att hämta värden från formuläret som namnen i formuläret .... när jag "råkade stava fel" så fick jag fram samma felmeddelande (kunde inte hittas i själva collectionen av uppladdad data)

cya,
/PatrikB

LR^evil.sidMedlem sedan maj 2002560 inlägg
#54

Kan man med detta uploadscript ta reda på filens storlek innan man skriver filen?

Om inte, hur lägger jag till det?

PatrikBMedlem sedan mars 20002 836 inlägg
#55

Tyvärr, finns inte med i scriptet idag.
Vilken miss då det kan vara av intresse i vissa fall.

Hmm, blir till att fixa en uppdatering till ikväll då.

cya,
/PatrikB

hellboyMedlem sedan aug. 200349 inlägg
#56

efter din uppdaterinh Patrik, lyckades jag med att få in de andra formulärfälten i databsen, en gång.. vet inte varför det funkade, för det funkar inte när jag provar igen.. får samma problem nu, så jag antar att jag gjort nått fel i databas-tillägget?

Kod:

<%
Option Explicit

Dim objUpload
Dim strRubrik
Dim strNyhet
dim objFile
Dim varyErrors
Dim iErr
Dim blnErr
Dim Connect
Dim SQL

blnErr = False

Set objUpload = New overrUpload

Set objFile = objUpload.Form("theFile")
	
	If objFile.IsFile Then
		
		Call objFile.SaveToFile(Server.MapPath("../db/" & objFile.Filename), True)
		
		If objFile.HasErrors Then
			blnErr = True
			varyErrors = objFile.GetErrors()
			For iErr = 0 TO UBound(varyErrors)
				Response.Write(varyErrors(iErr) & "\<hr\>")
			Next
		End If

strRubrik = objUpload("rubrik")
strNyhet = objUpload("nyhet")
strFilename = objFile.Filename
dtDatum = Now()

set connect = server.createobject("ADODB.connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/db.mdb")
SQL= "INSERT INTO nyheter (rubrik,nyhet,filename,datum) VALUES('" & strRubrik & "','" & strNyhet & "','" & strFilename & "','" & dtDatum & "')"
connect.Execute(SQL)

	End If
Set objFile = Nothing

If blnErr = False Then Response.Redirect("admin.asp")
%>
<!--#INCLUDE FILE="classes/clsUpload.asp"-->

av nån anledning fungerar det inte med INCLUDE VIRTUAL för mig.. då hittar den inte filen..

OveRRidEMedlem sedan feb. 200112 078 inlägg
#57

Oj, här går det snabbt. :)

PatrikBMedlem sedan mars 20002 836 inlägg
#58

hellboy,
kan du testa denna kod .....

<% 
Option Explicit 

Dim objUpload 
Dim strRubrik 
Dim strNyhet 
dim objFile 
Dim varyErrors 
Dim iErr 
Dim blnErr 
Dim Connect 
Dim SQL 

blnErr = False 

Set objUpload = New overrUpload 

Set objFile = objUpload.Form("theFile") 

	If objFile.IsFile Then 

		Call objFile.SaveToFile(Server.MapPath("../db/" & objFile.Filename), True) 

		If objFile.HasErrors Then 
			blnErr = True 
			varyErrors = objFile.GetErrors() 
			For iErr = 0 TO UBound(varyErrors) 
				Response.Write(varyErrors(iErr) & "<hr>") 
			Next 

		Else

			strRubrik = objUpload("rubrik") 
			strNyhet = objUpload("nyhet") 
			strFilename = objFile.Filename 
			dtDatum = Now() 

			set connect = server.createobject("ADODB.connection") 
				Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/db.mdb") 
				SQL= "INSERT INTO nyheter (rubrik,nyhet,filename,datum) VALUES('" & strRubrik & "','" & strNyhet & "','" & strFilename & "','" & dtDatum & "')" 
				connect.Execute(SQL) 
				connect.close
			Set connect = Nothing
		End If

	End If 
Set objFile = Nothing 

'## -- skippa denna redirect så länge, tills allt funkar på denna sida --
'If blnErr = False Then Response.Redirect("admin.asp") 
%> 
<!--#INCLUDE FILE="classes/clsUpload.asp"-->

kolla så att fälnamnen är rätt stavade där du hämtar den datan: objUpload("nyheter") - så att det inte heter txtNyheter eller ngt liknande

override:
jepp, här blåser det storm :e

cya,
/PatrikB

hellboyMedlem sedan aug. 200349 inlägg
#59

näe.. fortfarande samma problem.. har dubbekollat alla formulärnamn, tabellnamn och kolumnnamn.. allting ska stämma.

PatrikBMedlem sedan mars 20002 836 inlägg
#60

Om du låter det gå tills det säger stopp, vad händer då? ev. felmeddelande

Ett annat alternativ .... börja om och testa med ett nytt formulär och ta field för field och testkör.

cya,
/PatrikB

137 ms totalt · 3 externa anrop · v20260731065814-full.b943c234
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)