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
93 svar · 6 683 visningar · startad av OveRRidE · sida 3 av 5
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
Fast det är den versionen jag har laddat ner.. 1.5.2.
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
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
%>
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...
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?
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?
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..
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.
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
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...
hadde samma fel... du måste ändra rättigheterna för mappen... eller du kan ju iaf testa det...
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
Kan man med detta uploadscript ta reda på filens storlek innan man skriver filen?
Om inte, hur lägger jag till det?
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
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..
Oj, här går det snabbt. :)
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
näe.. fortfarande samma problem.. har dubbekollat alla formulärnamn, tabellnamn och kolumnnamn.. allting ska stämma.
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