Avatar billede bogidk Nybegynder
21. september 2006 - 15:06 Der er 22 kommentarer og
2 løsninger

Formular med mulighed for at downloade..

Jeg har lavet en formular der kan bruges. Men ved ikke hvordan jeg kan få den til at downloade :-/

<form method="post" action="download.asp" class="input">
<select name="mySelect">
<option value="F.eks.pricelist.pdf" style="background-color: #D6D1C4">1<br>
<option value="2" style="background-color: #D6D1C4">2<br>
<option value="3" style="background-color: #D6D1C4">3<br>
<option value="4" style="background-color: #D6D1C4">4<br>
<option value="5" style="background-color: #D6D1C4">5<br>
<option value="6" style="background-color: #D6D1C4">6<br>
<option value="7" style="background-color: #D6D1C4">7<br>
<option value="8" style="background-color: #D6D1C4">8<br>
<option value="9" style="background-color: #D6D1C4">9<br>
</select>
<input type="submit" target=_blank name="download" value="Download">

</form></form>

Det skal være så simpelt som overhovedet muligt, da jeg ikke er den store haj til det her... :-)
Avatar billede madeindk Nybegynder
21. september 2006 - 17:07 #1
Jeg har sat følgende kode sammen til dig. Du skal nu definere din ASP kode hvilken mappe dine filer ligger i, som der står beskrevet øverst og så i din select (i HTML'en) skal du angive hvad filen hedder i mappen.

<%
If lCase(Request.ServerVariables("REQUEST_METHOD")) = "post" Then

' Din mappe hvor dine download filer ligger
strMappe = "/download/"
strFilnavn = Request.Form("download")

FilePath = Server.MapPath(strMappe) & "\" & strFilnavn

Response.Buffer = True

Set st = Server.CreateObject("ADODB.Stream")
st.Type = 1
st.Open
st.LoadFromFile FilePath

Response.Clear

Response.ContentType = "image/jpeg"
Response.AddHeader "content-disposition", "attachment;filename=" & strFilnavn

Response.BinaryWrite st.Read()

st.Close
Set st = Nothing
Response.End

Else
%>

<form method="post" action="download.asp" class="input">

<select name="download">
<option value="" style="background-color: #D6D1C4">Testfil<br>
</select>

<input type="submit" target="_blank" name="download" value="Download">

</form>

<% End if %>
Avatar billede bogidk Nybegynder
21. september 2006 - 19:40 #2
Tusind tak for det :-) Du får hermed lige nogle points af mig :-)
Avatar billede madeindk Nybegynder
21. september 2006 - 19:47 #3
Har du testet at det virker, for det har jeg nemlig ikke ;-) Men jeg regner dog meget stærkt med det.
Avatar billede bogidk Nybegynder
22. september 2006 - 08:54 #4
Jeg kan faktisk ikke få det til at virke? Ved ikke om jeg gør noget forkert? :-(
Avatar billede bogidk Nybegynder
22. september 2006 - 09:00 #5
Jeg har oprettet en mappe som hedder "Download" og lagt en fil der hedder"test.jpg" ned og så har jeg ændret i select:

<select name="download">
<option value="test.jpg" style="background-color: #D6D1C4">Testfil<br>
</select>

Men det virker ikke :-(
Avatar billede madeindk Nybegynder
22. september 2006 - 09:36 #6
Hvilken meddelelse modtager du, siden det ikke virker?
Avatar billede bogidk Nybegynder
22. september 2006 - 09:57 #7
Den går ind på en side der hedder www.mitdomæne/download.asp, som ikke findes, i stedet for at hente filen fra mappen :-/
Avatar billede madeindk Nybegynder
22. september 2006 - 11:45 #8
<%
If lCase(Request.ServerVariables("REQUEST_METHOD")) = "post" Then

' Din mappe hvor dine download filer ligger
strMappe = "/download/"
strFilnavn = Request.Form("download")

FilePath = Server.MapPath(strMappe) & "\" & strFilnavn

Response.Buffer = True

Set st = Server.CreateObject("ADODB.Stream")
st.Type = 1
st.Open
st.LoadFromFile FilePath

Response.Clear

Response.ContentType = "image/jpeg"
Response.AddHeader "content-disposition", "attachment;filename=" & strFilnavn

Response.BinaryWrite st.Read()

st.Close
Set st = Nothing
Response.End

Else
%>

<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>" class="input">

<select name="download">
<option value="" style="background-color: #D6D1C4">Testfil<br>
</select>

<input type="submit" target="_blank" name="download" value="Download">

</form>

<% End if %>
Avatar billede madeindk Nybegynder
22. september 2006 - 11:45 #9
Og husk...

<%
If lCase(Request.ServerVariables("REQUEST_METHOD")) = "post" Then

' Din mappe hvor dine download filer ligger
strMappe = "/download/"
strFilnavn = Request.Form("download")

FilePath = Server.MapPath(strMappe) & "\" & strFilnavn

Response.Buffer = True

Set st = Server.CreateObject("ADODB.Stream")
st.Type = 1
st.Open
st.LoadFromFile FilePath

Response.Clear

Response.ContentType = "image/jpeg"
Response.AddHeader "content-disposition", "attachment;filename=" & strFilnavn

Response.BinaryWrite st.Read()

st.Close
Set st = Nothing
Response.End

Else
%>

<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>" class="input">

<select name="download">
<option value="test.jpg" style="background-color: #D6D1C4">Testfil<br>
</select>

<input type="submit" target="_blank" name="download" value="Download">

</form>

<% End if %>
Avatar billede bogidk Nybegynder
22. september 2006 - 12:04 #10
Har du ændret noget i det?
Avatar billede bogidk Nybegynder
22. september 2006 - 12:31 #11
Prøv at gå ind på www.userfriendly.dk/test.asp

Så kan du måske selv bedre se, hvad der kan være galt? :-)

På forhånd mange mange gange tak for din hjælp :-)
Avatar billede madeindk Nybegynder
22. september 2006 - 13:08 #12
Din server handler jo ikke ASP'en som den skal. Prøv at højreklikke og klikke "Vis kilde" - ASP koden bliver jo vist :-)
Avatar billede bogidk Nybegynder
22. september 2006 - 13:24 #13
hmm, hehe.... Prøv på denne side... www.bellcon.dk/test.asp

Der bliver koden ikke vist, men det fungerer stadigvæk ikke :-/
Avatar billede ellebaek Nybegynder
22. september 2006 - 13:29 #14
<%
If lCase(Request.ServerVariables("REQUEST_METHOD")) = "post" Then

' Din mappe hvor dine download filer ligger
strMappe = "/download/"
strFilnavn = Request.Form("download")

FilePath = Server.MapPath(strMappe & strFilnavn)

Response.Buffer = True

Set st = Server.CreateObject("ADODB.Stream")
st.Type = 1
st.Open
st.LoadFromFile FilePath

Response.Clear

Response.ContentType = "image/jpeg"
Response.AddHeader "content-disposition", "attachment;filename=" & strFilnavn

Response.BinaryWrite st.Read()

st.Close
Set st = Nothing
Response.End

Else
%>

<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>" class="input">

<select name="download">
<option value="test.jpg" style="background-color: #D6D1C4">Testfil<br>
</select>

<input type="submit" target="_blank" name="download" value="Download">

</form>

<% End if %>

prøv sådan her...
Avatar billede bogidk Nybegynder
22. september 2006 - 13:48 #15
Stadigvæk ikke, hehe... Det er sgu da mærkelig, er det ikke?
Avatar billede madeindk Nybegynder
22. september 2006 - 14:15 #16
Nu siger den en anden fejl som måske hjælper os lidt på vej.

Dette er bare en test, for at finde ud af hvad den skriver ud som mappe og filnavn. Lad os se ad ;-)

<%
If lCase(Request.ServerVariables("REQUEST_METHOD")) = "post" Then

' Din mappe hvor dine download filer ligger
strMappe = "/download/"
strFilnavn = Request.Form("download")

FilePath = Server.MapPath(strMappe & strFilnavn)
Response.Write(FilePath)

Else
%>

<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>" class="input">

<select name="download">
<option value="test.jpg" style="background-color: #D6D1C4">Testfil<br>
</select>

<input type="submit" target="_blank" name="download" value="Download">

</form>

<% End if %>
Avatar billede bogidk Nybegynder
22. september 2006 - 14:25 #17
Så har jeg smidt den nye op :-)
Avatar billede ellebaek Nybegynder
22. september 2006 - 14:32 #18
der er en fejl i server.mappath, så prøv lige at lægge denne her op...

<%
If lCase(Request.ServerVariables("REQUEST_METHOD")) = "post" Then

' Din mappe hvor dine download filer ligger
strMappe = "/download/"
strFilnavn = Request.Form("download")

response.write strMappe & strFilnavn
response.end

FilePath = Server.MapPath(strMappe & strFilnavn)
Response.Write(FilePath)

Else
%>

<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>" class="input">

<select name="download">
<option value="test.jpg" style="background-color: #D6D1C4">Testfil<br>
</select>

<input type="submit" target="_blank" name="download" value="Download">

</form>

<% End if %>
Avatar billede ellebaek Nybegynder
22. september 2006 - 14:49 #19
<%
If lCase(Request.ServerVariables("REQUEST_METHOD")) = "post" Then

' Din mappe hvor dine download filer ligger
strMappe = "\download\"
strFilnavn = Request.Form("download")

FilePath = Server.MapPath("/") & strMappe & strFilnavn

Response.Buffer = True

Set st = Server.CreateObject("ADODB.Stream")
st.Type = 1
st.Open
st.LoadFromFile FilePath

Response.Clear

Response.ContentType = "image/jpeg"
Response.AddHeader "content-disposition", "attachment;filename=" & strFilnavn

Response.BinaryWrite st.Read()

st.Close
Set st = Nothing
Response.End

Else
%>

<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>" class="input">

<select name="download">
<option value="test.jpg" style="background-color: #D6D1C4">Testfil<br>
</select>

<input type="submit" target="_blank" name="download" value="Download">

</form>

<% End if %>

hmm... læste lige lidt... prøv lige det her...
Avatar billede bogidk Nybegynder
22. september 2006 - 20:20 #20
ellebaek, din kode virkede heller ikke, hehe :-)

madeindk: den sidste er vist tæt på. Tag et kig på www.bellcon.dk/test.asp :-)
Avatar billede madeindk Nybegynder
22. september 2006 - 21:24 #21
Den burde virke nu. Hvis din mappe ligger helt tilbage i roden og hedder download.

<%
If lCase(Request.ServerVariables("REQUEST_METHOD")) = "post" Then

' Din mappe hvor dine download filer ligger
strMappe = "\download\"
strFilnavn = Request.Form("download")

FilePath = Server.Mappath("/download") & "\" & strFilnavn

Response.Buffer = True

Set st = Server.CreateObject("ADODB.Stream")
st.Type = 1
st.Open
st.LoadFromFile FilePath

Response.Clear

Response.ContentType = "image/jpeg"
Response.AddHeader "content-disposition", "attachment;filename=" & strFilnavn

Response.BinaryWrite st.Read()

st.Close
Set st = Nothing
Response.End

Else
%>

<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>" class="input">

<select name="download">
<option value="test.jpg" style="background-color: #D6D1C4">Testfil<br>
</select>

<input type="submit" target="_blank" name="download" value="Download">

</form>

<% End if %>
Avatar billede madeindk Nybegynder
22. september 2006 - 21:25 #22
Argh, det er da fordi din submit knap også hedder "download" - doooh!!!

Ret til:
<input type="submit" target="_blank" name="downloadKnap" value="Download">
Avatar billede bogidk Nybegynder
23. september 2006 - 07:49 #23
Sådan madeindk!!!! Det virker, hehehehe!!! Tusind tak! :-)
Avatar billede madeindk Nybegynder
23. september 2006 - 14:24 #24
Det var godt.

Her er mit svar ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester