Jag använder mig av AspUpload till mitt script, och så långt fungerar det väl. Det är två filer åt gången jag laddar upp och vill även välja kategori och ha en liten beskrivning i samma formulär även ta reda på filnamnen och spara det till en databas - här kommer problemen.
Först och främst lyckas jag inte köra en Request.Form efter att ha laddat upp filerna, då får jag följande fel:
Request object error 'ASP 0207 : 80004005'
Cannot use Request.Form
skicka.asp, line 41
Cannot use Request.Form collection after calling BinaryRead.
Min (luddiga) kod för att försöka få allt att fungera är följande:
Så ser det ut.. jag vet inte ens om hälften skulle fungera men det tar alltså stopp redan vid första Request.Form. :(
Dessutom så har jag ju två filformulärsfält, hur kan jag ta reda på filnamnet från båda de här två? Det lilla jag kunde rota fram på AspUpload.com var nåt med "File.Name" men det verkar väl bara vara för ett fält..
Först och främst lyckas jag inte köra en Request.Form efter att ha laddat upp filerna, då får jag följande fel:
Request object error 'ASP 0207 : 80004005'
Cannot use Request.Form
skicka.asp, line 41
Cannot use Request.Form collection after calling BinaryRead.
Det är helt riktigt. Därför har uploadkomponenterna egna metoder för att hämta värden från formulärfält.
foo = Upload.Form("foo")
Gardell skrev:
Dessutom så har jag ju två filformulärsfält, hur kan jag ta reda på filnamnet från båda de här två? Det lilla jag kunde rota fram på AspUpload.com var nåt med "File.Name" men det verkar väl bara vara för ett fält..
Du rotar inte speciellt bra. På denna sida finns detta exempel med en for-loop:
<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.Save "c:\upload"
%>
Files:<BR>
<%
For Each File in Upload.Files
Response.Write File.Name & "= " & File.Path & " (" & File.Size &" bytes)<BR>"
Next
%>
<P>
Other items:<BR>
<%
For Each Item in Upload.Form
Response.Write Item.Name & "= " & Item.Value & "<BR>"
Next
%>
Lösningen fanns bland tidigare svar i denna tråd...
<%
intFil = 1
For Each File in Upload.Files
RecSet("fil" & intFil) = File.Name
intFil = intFil + 1
Next
%>
Lite osäker på om man får skriva sådana dynamiska namn som jag gjort i RecordSet. Annars skall det fungera. Dessutom tycker jag det borde finnas något liknande File.Next. Jag har dock aldrig tittat på just det fallet så det är bara en gissning :)
For Each File In objUpload.Files
strSQL = "INSERT INTO tabell(varde1, filnamn) VALUES('" & byt(objUpload.form("varde1")) &"', '" & File.Filename &"')"
objConn.Execute(strSQL)
Next
267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e