Avatar billede johnnissen Nybegynder
14. februar 2002 - 13:36 Der er 10 kommentarer

Form med tekst der gemmes i database samt upload af billeder/filer

Jeg har følgende problem:

Skal gemme flere felter i database (tekst og textarea) og uploade 2 billeder og evt en film, samtidig med at den gemmer i databasen hvor filerne er blevet uploadet(f.eks. c:/asp/billed.jpg).
Skal også have en side hvor man kan rette felter og uploade billeder/film samt rette i databasen placering af hvor de er uploadet.

Når jeg selv prøver får jeg følgende fejl:
Request object error 'ASP 0207 : 80004005'
Cannot use Request.Form collection after calling BinaryRead.

Jeg har spurgt to af mine lærere og de har problemer med at komme med et svar.
jeg har brug for ekspert hjælp

Avatar billede prankster Nybegynder
14. februar 2002 - 13:38 #1
Kan du ligge koden ud, så jeg kan se den??!!
Avatar billede prankster Nybegynder
14. februar 2002 - 13:38 #2
.
Avatar billede webbe Nybegynder
14. februar 2002 - 13:42 #3
Du kan ikke bruge Request.Form på en BinaryRead.

Du skal skrive Upload.Form("felt_navn") istedet for Request.Form("felt_navn") alle de steder du har skrevet en Request.Form.
Avatar billede johnnissen Nybegynder
14. februar 2002 - 13:57 #4
Jeg har installeret ASPSimpleUpload for at få upload til at virke, her er koden på side:

<!-- #include file="include/top.asp" -->
<!-- #include file="include/database.asp" -->
<html>
<head>
    <title>Leksikon</title>
    <link rel="STYLESHEET" type="text/css" href="css/fisk.css">
</head>
<body topmargin="10">
<form action="tilfoej_fisk.asp?save=yes" enctype="multipart/form-data" method="post">
<table cellspacing="0" cellpadding="2" border="0"><tr>
<td valign="top" bgcolor="#E0DFE3" height="30"><b>
  Fiskenavn:<br>
  (DANSK)&nbsp;</b></td>
<td bgcolor="#E0DFE3" height="30"><input type="text" name="Fiskenavn_DK" size="50" maxlength="50"></tr><tr>
<td valign="top" bgcolor="#EFEFEF" height="30">
  <b>
  Fiskenavn:<br>
  (TYSK)</b></td>
<td bgcolor="#EFEFEF" height="30"><input type="text" name="Fiskenavn_DE" size="50" maxlength="50"></tr><tr>
<td valign="top" bgcolor="#E0DFE3" height="30">
  <b>
  Fiskenavn:<br>
  (ENGELSK)&nbsp;</b></td>
<td bgcolor="#E0DFE3" height="30"><input type="text" name="Fiskenavn_GB" size="50" maxlength="50"></tr><tr>
<td valign="top" bgcolor="#EFEFEF" height="25">
  <b>
  Fiskens latinnavn:&nbsp;</b></td>
<td bgcolor="#EFEFEF" height="25"><input type="text" name="Fisklatinnavn" size="50" maxlength="50"></tr><tr>
<td valign="top" bgcolor="#E0DFE3" height="19">
<b>
Navngiver:</b></td>
<td bgcolor="#E0DFE3" height="19"><input type="text" name="Navngiver" size="50" maxlength="50"></tr><tr>
<td valign="top" bgcolor="#EFEFEF" height="30">
  <b>År for navngivningen fandt sted:</b></td>
<td bgcolor="#EFEFEF" height="30"><input type="text" name="Aar" size="12">
  (f.eks. 1955)</tr><tr>
<td valign="top" bgcolor="#E0DFE3" height="119">
  <b>
  Kendetegn:<br>
  (DANSK)</b></td>
<td bgcolor="#E0DFE3" height="119"><textarea cols="90" rows="5" name="Kendetegn_DK"></textarea></tr><tr>
<td valign="top" bgcolor="#EFEFEF" height="119">
  <b>
  Kendetegn:<br>
  (TYSK)</b></td>
<td bgcolor="#EFEFEF" height="119"><textarea cols="90" rows="5" name="Kendetegn_DE"></textarea></tr><tr>
<td valign="top" bgcolor="#E0DFE3" height="119">
  <b>
  Kendetegn:<br>
  (ENGELSK)&nbsp;</b></td>
<td bgcolor="#E0DFE3" height="119"><textarea cols="90" rows="5" name="Kendetegn_GB"></textarea></tr><tr>
<td valign="top" bgcolor="#EFEFEF" height="25">
  <b>
  Max længde&nbsp;for fisken:</b></td>
<td bgcolor="#EFEFEF" height="25"><input type="text" name="Maxlaengde" size="12">
  cm.</tr><tr>
<td valign="top" bgcolor="#E0DFE3" height="119">
  <b>
  Beskrivelse:<br>
  (DANSK)&nbsp;</b></td>
<td bgcolor="#E0DFE3" height="119"><textarea cols="90" rows="5" name="Beskrivelse_DK"></textarea></tr><tr>
<td valign="top" bgcolor="#EFEFEF" height="119">
  <b>
  Beskrivelse:<br>
  (TYSK)&nbsp;</b>
</td>
<td bgcolor="#EFEFEF" height="119"><textarea cols="90" rows="5" name="Beskrivelse_DE"></textarea></tr><tr>
<td valign="top" bgcolor="#E0DFE3" height="119">
  <b>
  Beskrivelse:<br>
  (ENGELSK)&nbsp;</b></td>
<td bgcolor="#E0DFE3" height="119"><textarea cols="90" rows="5" name="Beskrivelse_GB"></textarea></tr><tr>
<td valign="top" bgcolor="#EFEFEF" height="26">
  <b>
  Art navn:</b></td>
<td bgcolor="#EFEFEF" height="26">
  <select size="1" name="artnavn">
    <option>-- Vælg Art --</option>
<% 

    strSQL = "Select Artnavn_DK "
    strSQL = strSQL & "FROM art "

    set ObjRS = Conn.execute(strSQL)
    Do until ObjRs.EOF
%>
<option><%=ObjRS("Artnavn_DK")%></option>
<%
    ObjRS.movenext
    loop
%>   
    &nbsp; </select>
  </tr><tr>
<td valign="top" bgcolor="#E0DFE3" height="25">
<b>
Akvarienummer:</b></td>
<td bgcolor="#E0DFE3" height="25"><input type="text" name="Akvarienummer" size="12">
  (Mellem 1 og ?)</tr><tr>
<td valign="top" bgcolor="#EFEFEF" height="25">
  <b>Upload billede af fisk:&nbsp;</b></td>
<td bgcolor="#EFEFEF" height="25">
  <input type="file" name="billedefisk" size="45" maxlength="50">
  </tr><tr>
<td valign="top" bgcolor="#E0DFE3" height="25">
  <b>Upload billede af kort:&nbsp;</b></td>
<td bgcolor="#E0DFE3" height="25">

  <input type="file" name="Billedekort" size="45" maxlength="50">
  </tr><tr>
<td valign="top" bgcolor="#EFEFEF" height="25">
  <b>
  Evt. upload film&nbsp;om fisk:</b></td>
<td bgcolor="#EFEFEF" height="25">
  <input type="file" name="Film" size="45" maxlength="50">
  </tr><tr>
<td valign="top" bgcolor="#E0DFE3" height="92">
<br>
  <input type="image" value="Submit" border="0" src="grafik/opdater.gif" align="absmiddle" width="24" height="24"> Tilføj
</td>
<td bgcolor="#E0DFE3" height="92">&nbsp;</tr></table>
</form>
<%

If Request.QueryString("save")="yes" then

Dim ObjRs, StrSQL, Conn

Dim upl, NewFileName
 
Set upl = Server.CreateObject("ASPSimpleUpload.Upload")
 
If Len(upl.Form("billedefisk")) > 0 Then
    NewFileName = "multimedie/fisk/" & upl.ExtractFileName(upl.Form("billedefisk"))
    If upl.SaveToWeb("billedefisk", NewFileName) Then
        Response.Write("File successfully written to disk.") 
    Else
        Response.Write("There was an error saving the file to disk.")
    End If
End If

Const adOpenKeyset = 1
Const adLockOptimistic = 3

    Set ObjRS = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * "
    strSQL = strSQL & "FROM fisk "
   
    ObjRS.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

        ObjRS.AddNew
        ObjRS("Fiskenavn_DK") = Request.form("Fiskenavn_DK")
        ObjRS("Fiskenavn_DE") = Request.form("Fiskenavn_DE")
        ObjRS("Fiskenavn_GB") = Request.form("Fiskenavn_GB")
        ObjRS("Fisklatinnavn") = Request.form("Fisklatinnavn")
        ObjRS("Navngiver") = Request.form("Navngiver")
        ObjRS("Aar") = Request.form("Aar")
        ObjRS("Kendetegn_DK") = Request.form("Kendetegn_DK")
        ObjRS("Kendetegn_DE") = Request.form("Kendetegn_DE")
        ObjRS("Kendetegn_GB") = Request.form("Kendetegn_GB")
        ObjRS("Maxlaengde") = Request.form("Maxlaengde")
        ObjRS("Beskrivelse_DK") = Request.form("Beskrivelse_DK")
        ObjRS("Beskrivelse_DE") = Request.form("Beskrivelse_DE")
        ObjRS("Beskrivelse_GB") = Request.form("Beskrivelse_GB")
        ObjRS("Artnavn_DK") = Request.form("Artnavn_DK")
        ObjRS("Akvarienummer") = Request.form("Akvarienummer")
        ObjRS("Billedefisk") = Request.form("Billedefisk")
        ObjRS("Billedekort") = Request.form("Billedekort")
        ObjRS("Film") = Request.form("Film")
       
        ObjRS.Update

    ObjRS.Close
    Set ObjRS = Nothing

Conn.Close
set Conn = Nothing

response.redirect "index.asp"

end if

%>
</body>
Avatar billede cape Nybegynder
14. februar 2002 - 14:53 #5
This is typically caused by making a call to Request.Form on the same page where you are using the ASPSimpleUpload object. The HTTP file transfer protocol requires that the posting form's enctype be set to multipart/form-data. This enctype is not compatible with ASP's Request.Form collection.
 
Corrective Action: Do not use the Request.Form object on the same page that you are using to process your uploads. Use the ASPSimpleUpload object's Form or FormEx object instead. For example, you would replace:
Response.Write Request.Form("Text1")

with
Response.Write upl.Form("Text1")
Avatar billede johnnissen Nybegynder
18. februar 2002 - 09:53 #6
Det virker ikke!

Vi får følgende fejl:

Der opstod en Microsoft VBScript-kørselsfejl error '800a000d'

Typerne stemmer ikke overens

Fejlen kommer allerede i første linie hvor vi bruger upl.form i stedet for Request.Form.

Hvad kan der være galt???
Avatar billede mads22 Nybegynder
18. februar 2002 - 10:24 #7
jeg har svaret om lidt.

Mads fra jyllinge
Avatar billede webbe Nybegynder
18. februar 2002 - 11:48 #8
Det har noget at gøre med de type (String og Integer) du forsøger at smide i din DB.

Hvis dine felter i din DB er af type tal skal du ikke have pinger rundt om, men hvis det er en tekstreng skal du have pinger.

Eksempel med tal

sql = "INSERT INTO table (Alder,Aar) VALUES ("&""&Upload.form("alder")&","&Upload.Form("aar")&")"
Conn.Execute(sql)

Eksempel med tekst:

sql = "INSERT INTO table (Navn,Adresse) VALUES ("&"'"&Upload.Form("navn")&"', '"&Upload.Form("adresse")&"')"
Conn.Execute(sql)

Disse to kan selvfølgelig kombineres i den grad du har tal- og tekst-felter.
Avatar billede mads22 Nybegynder
18. februar 2002 - 14:31 #9
hmm..problemet virker bekendt, jeg skal lige checke min gamle file, da jeg har arbejdet mange steder - blandt andet hos Novo nordisk, glostrup Parkvæsen og flensted smed som chef for deres IT afd. - års tallene kan jeg lige mail senere.

Mads
Avatar billede mads22 Nybegynder
18. februar 2002 - 14:54 #10
Jeg har i 98 hos Novo og lidt hos glostrup Parkvæsen samt i 2001 arbejde jeg for Flensted smed og stadig for Glostrup Parkvæsen.

Mens jeg finde filerne, kan du med stor glæde finde indre ro i denne side http://www.saibaba.org/

Mads fra Jyllinge
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