Avatar billede dk_zerocool Nybegynder
05. august 2003 - 08:22 Der er 11 kommentarer og
1 løsning

Form med både fil og tekst

Jeg har et problem med et script hvor man både indtaster fx. et navn i et felt og samtidig udloader et billede til.

Koden:

<form method="POST" ENCTYPE="multipart/form-data action="regPersonale.asp">

Fornavn:
<input type="text" name="fornavn" size="20">
Efternavn:
<input type="text" name="efternavn" size="20">
Stilling:
<input type="text" name="stilling" size="20">
Billede:
<input type="file" name="F1" size="26">
Beskrivelse
<textarea rows="11" name="beskrivelse" cols="36"></textarea><br>

<input type="submit" value="Opret" name="B1"></p>

og så modtager jeg filen og teksten med denne kode:

path = Server.MapPath("../gallery/personale/picture.jpg")

Set mp = Server.CreateObject("ImageGlue.XMultipart")
data = Request.BinaryRead(Request.TotalBytes)
mp.SetData(data)
Set field1 = mp.Item("F1")
Set field2 = mp.Item("fornavn")

Set canvas = Server.CreateObject("ImageGlue.Canvas")
canvas.DrawData field1.Data, field1.Filename, ""
canvas.SaveAs path, ""

Og jeg får en fejl hver gang jeg kører det.

Er der nogen som har en anden løsning på hvordan jeg får modtaget både fil og indtastede tekst ??
Avatar billede vbcoder Nybegynder
05. august 2003 - 08:28 #1
Nu har du sørget for at du har skriveretttigheder på din path ;-)

//vbcoder
Avatar billede dk_zerocool Nybegynder
05. august 2003 - 08:29 #2
Ja, jeg har også fået lavet så jeg kan oploade billede og fil hver for sig, men hvis jeg skal bruge dem på samme side går det galt...
Avatar billede vbcoder Nybegynder
05. august 2003 - 08:31 #3
Nedenstående er baseret på uploadkomponenten fra dimac.se og en imagekomponent fra reneris.com

    Response.Buffer = True
    Dim strSql
    Dim actualName,fileName,a,dummy,upload,vare_opret,sImage,path
   
    path = Request.ServerVariables( "APPL_PHYSICAL_PATH" ) & "vare_pic\"

    Set upload  = Server.CreateObject( "w3.upload" )
    Set sImage = Server.CreateObject("SImageUtil.Image")
   
    sImage.PhysicalPath = true
   
    If Request.ServerVariables("REQUEST_METHOD") = "POST" Then

        actualName  = upload.Form( "billedelink" )
        Set fileName  = upload.Form( "thefile" )

        If Len(upload.Form("billedeLink")) < 1 Then
            actualName = FileName.FileName
        End If

        If fileName.IsFile then
                fileName.SaveToFile( path & actualName )
                sImage.Thumb  path & actualName, 120, 120, path & "t_" & actualName, 75
        End If

        If Len(upload.Form("billedeLink")) > 0 Then
                strSQL = strSQL & "'" & UnQuote(upload.Form("billedelink")) & "',"
        Else
                strSQL = strSQL & "'" & actualName & "',"               
        End If
   
    End if

//vbcoder
Avatar billede vbcoder Nybegynder
05. august 2003 - 08:34 #4
Både et billede og en fil ?

Mener du ikke at billedet er filen?

/vbcoder
Avatar billede dk_zerocool Nybegynder
05. august 2003 - 08:37 #5
Jo, man skal kunne sammen med nogle oplysningen om noget personale samtidig kunne uploade et billede af personen.

Nu har jeg jo alt andet kode, er der ikke en hurtig måde at få fat i teksten som fx. request.form("teksten") ??
Avatar billede dk_zerocool Nybegynder
05. august 2003 - 08:55 #6
Der må da være nogen som før har haft dette problem....
Avatar billede cesil Nybegynder
05. august 2003 - 09:04 #7
Hvad får du for en fejl?
Avatar billede dk_zerocool Nybegynder
05. august 2003 - 09:05 #8
HTTP 500 - Intern serverfejl
Avatar billede vbcoder Nybegynder
05. august 2003 - 09:09 #9
du bruger request.form til at hente oplysningerne om personen

f.x. under forudsætning af at du har nogle inputfelter på din form

<%
dim strForNavn,strEfterNavn,strID

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    strForNavn = request.form("fornavn")
    strEfterNavn = request.form("efternavn")
    strID = cstr(request.form("ID") ' fx. lønnummer
else
%>
<html>

Her skal din form kode stå
<form action="dennefil.asp">

</form>

</html>
<%
end if
%>

//Vbcoder
Avatar billede somaliomar Praktikant
05. august 2003 - 09:09 #10
Prøv først at slå Vis meddelelser om uskadelige HTTP-fejl fra i din IE:
Funktioner -> Internet Indstillinger -> Avanceret -> Vis meddelelser om uskadelige HTTP-fejl

Past så fejlen herinde.
Avatar billede dk_zerocool Nybegynder
05. august 2003 - 09:18 #11
Jeg tror jeg har løsningen, og det var nok også det vbcoder prøvede at forklare mig:

Set Upload = Server.CreateObject("Persits.Upload")
upload.Form( "tekst" )

Jeg skulle bare lige have den lavet om til
Avatar billede dk_zerocool Nybegynder
05. august 2003 - 09:19 #12
...Persits.Upload istedet. Tak for hjælpen
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