Avatar billede killstun Nybegynder
03. august 2005 - 17:05 Der er 7 kommentarer og
2 løsninger

Upload og insert fra request form

Jeg har haft dette oppe at vende før, men jeg opgiver ikke på trods af at jeg er ved at rive håret af mig selv.

Jeg har en side med en form, hvor nogle oplysninger udfyldes og sender en videre til sql.asp for at indsætte oplysningerne i access databasen vha. request form. Nu vil jeg så gerne have en upload funktion i form'en, og tilføjer derfor disse informationer på form siden:
<form enctype="multipart/form-data" action="sql.asp" method="post">

og en linie længere nede til at gennemse på HD:
<input type=file name="file1"><br>

På sql.asp siden indføre jeg:

<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = false
Upload.SetMaxSize 1000000, True
Upload.SaveVirtual ("upload/")
%>

og åbner databasen længere nede og indsætter oplysninger vha. form request.

Men ak og ve, for den kommer med fejlen:
Fejltype:
Request-objekt, ASP 0207 (0x80004005)
Request.Form-samling kan ikke bruges, når BinaryRead er kaldt.

Nogle der har en løsning på dette. Jeg er ikke interesseret i en seperat upload side. Jeg vil bare have en funktionel form side og sql.asp, hvor jeg både kan indsætte i database og have upload funktionen samtidig. Jeg nægter at tro at sådanne simpel ting kan slå benene væk under ASP. Jeg har en masse request form informationer på siden, så det skal helst virke vha. disse, da jeg ellers skal skrive siderne om...meeen hvis det overhovedet ikke kan lade sig gøre med request forms, er jeg gerne åben over for hvorledes jeg ellers kan anvende insert fra forms, da jeg ikke kender andre metoder.

Jeg har valgt at give 100 points, fordi jeg gerne vil have en løsning på dette problem, da jeg har rodet med det i over en uge.
Avatar billede busschou Praktikant
03. august 2005 - 17:11 #1
du skal nok benytte Upload.Form istedet for request.form
Avatar billede busschou Praktikant
03. august 2005 - 17:12 #2
Jeg kender kun til aspsmartupload. Men der er det sådan at man ikke kan benytte request.form fordi formen så bliver ødelagt eller noget
Så alle steder skal man i stedet benytte Upload.Form
Avatar billede musicchart.dk Nybegynder
03. august 2005 - 18:29 #3
Når du bruger: enctype="multipart/form-data"
Bliver det til Binary... derfor skal du bruge uploadkomponentet til at hente oplysningerne fra din form.

Så derfor, ja prøv:
Upload.Form("ditfelt") & value
Avatar billede killstun Nybegynder
03. august 2005 - 22:54 #4
Er ikke helt sikker på jeg forstår. Mit nuværende script i sql.asp kunne fx se således ud:

strSQL = "Insert into film (forbogstav, titel, indeks) values('" & Request.Form("forbogstav") & "', '" & Replace(Request.Form("titel"), "'", "''") & "', '" & Replace(Request.Form("indeks"), "'", "''") & "')"
Conn.Execute(strSQL)

Hvis jeg bruger upload.form i stedet, vil det så se således ud:

strSQL = "Insert into film (forbogstav, titel, indeks) values('" & Upload.Form("forbogstav") & "', '" & Replace(Upload.Form("titel"), "'", "''") & "', '" & Replace(Upload.Form("indeks"), "'", "''") & "')"
Conn.Execute(strSQL)

- og ingen ændringer skal laves på form siden, vel?
Avatar billede musicchart.dk Nybegynder
03. august 2005 - 22:58 #5
netop... men husk at definere:
Set Upload = Server.CreateObject("Persits.Upload.1")
.. først, før du kører dit sql-script.
Avatar billede killstun Nybegynder
03. august 2005 - 23:04 #6
Yes, yes. Toppen og takker for hjælpen. Smider du/i ikke et svar så jeg kan tildele velfortjente points.
Avatar billede musicchart.dk Nybegynder
03. august 2005 - 23:34 #7
Hvis du siger det :o)
Avatar billede musicchart.dk Nybegynder
03. august 2005 - 23:35 #8
^-
Avatar billede busschou Praktikant
04. august 2005 - 07:34 #9
jepper lige præcis :o)
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