Avatar billede alleslev Nybegynder
06. marts 2010 - 11:58 Der er 4 kommentarer

problem med upload via asp i forbindelse med andet form data

Hej

jeg er ved at lave et stykke kode hvor man indtaster nogle data og vælger en fil, når man trykker ok skal filen oploades og data lægges i en data base, mit problem er at det upload script jeg har virker med enctype='multipart/form-data' i form feltet, og når jeg har det med kan jeg ikke læse de andre dataer ud af de andre imput felter. hvad er løsniningen på dette??

hvordan kan jeg request.form("feltnavn") samtidig med at jeg sender min fil til upload?? - eller skal jeg bruge et andet srcipt til at uploade med?
Avatar billede keysersoze Guru
06. marts 2010 - 12:15 #1
i stedet for request.form("feltnavn") skal du bruge fx aspupload.form("feltnavn") hvis det er det du har initialiseret dit upload-objekt som.
Avatar billede alleslev Nybegynder
06. marts 2010 - 12:24 #2
Ok, rpøver lige at sætte koden her ind så kan der være du har mulighed for lige at ændre det i den??

if request.querystring("do") = "tilfoej" then

strerror = ""
strnavnerror = ""
stradresseerror = ""
strpostnrerror = ""
strbyerror = ""
strtlferror = ""
strrapporterror = ""
stremailerror = ""
    strnavn = Trim(Request.Form("navn"))
    stradresse = Trim(Request.Form("adresse"))
    strpostnr = Trim(Request.Form("postnr"))
    strby = Trim(Request.Form("by"))
    strtlf = Trim(Request.Form("tlf"))
    stremail = Trim(Request.Form("email"))
    strrapport = Trim(Request.Form("rapport"))   
   
    If Len(strnavn) = 0 Then
        strnavnError = "<font color='ff0000'>Du skal skrive et navn!</font>"
        strerror = strerror & "1"
    end if
    If Len(stradresse) = 0 Then
        stradresseError = "Du skal skrive en adresse!"
        strerror = strerror & "1"
    end if
    If Len(strpostnr) = 0 Then
        strpostnrError = "Du skal skrive et postnr.!"
        strerror = strerror & "1"
    end if
    If Len(strby) = 0 Then
        strbyError = "Du skal skrive en by!"
        strerror = strerror & "1"
    end if
    If Len(strtlf) = 0 Then
        strtlfError = "Du skal skrive et telefon nr.!"
        strerror = strerror & "1"   
    end if
    If Len(strrapport) = 0 Then
        strrapportError = "Du skal vælge en fil!"
        strerror = strerror & "1"
    end if
    If validateEmail(stremail) = false Then
        stremailError = "Du skal skrive en valid email adresse!"
        strerror = strerror & "1"
    end if
   
    If Len(strError) = 0 Then

dim intPosMIMEHeader, intPosFileDataStart

  dim intPosFileNameStart, intPosFileNameEnd

  dim intPosFileDataEnd, intDataSize

  dim binData, binFileData, binFileName, binStart

  dim strFileName

  dim objFSO, objFile



  intDataSize = request.totalbytes

  binData = request.binaryread(intDataSize)



  intPosMIMEHeader = instrB(binData,chrB(13) & chrB(10)) - 1

  intPosFileDataStart = instrB(binData, chrB(13) & chrB(10) & chrB(13) & chrB(10)) + 4

  intPosFileNameStart = instrB(binData,cstrB("filename=")) + 10 

  intPosFileNameEnd = instrB(intPosFileNameStart,binData,chrB(34))

  binStart = midB(binData,1,intPosMimeHeader)

  binFileName = midB(binData,intPosFileNameStart, _

                    intPosFileNameEnd - intPosFileNameStart)

  intPosFileDataEnd = instrB(intPosMIMEHeader, binData, binStart) - 2



  strFileName = bin2str(binFileName)

  strFileName = right(strFileName, len(strFileName) - instrrev(strFileName,"\"))


 

  set objFSO = server.createobject("Scripting.FileSystemObject")

  set objFile = objFSO.CreatetextFile(server.mappath("uploads\" & strFileName), _

                                      true, false)

  objFile.write bin2str(midB(binData, intPosFileDataStart, _

                        intPosFileDataEnd - intPosFileDataStart))

  objFile.close

  set objFile = Nothing

  set objFSO = Nothing




function bin2str(byref binS)

  ' omdanner en binær følge til en tekststreng

  dim i, strRes

  for i = 1 to lenB(binS)

    strRes = strRes & chr(ascB(midB(binS, i, 1)))

  next

  bin2str = strRes

end function





function cstrB(strS)

  ' omdanner en tekststreng til en binær følge

  dim i, binRes

  for i = 1 to len(strS)

    binRes = binRes & chrB(asc(mid(strS,i,1)))

  next

  cstrB = binRes

end function

kode der skriver i databasen



som du kan se det første stykke validere alle felter og vis der ikke er nogle fejl så uploader den filen, og efter det noget der skriver i databasen
Avatar billede alleslev Nybegynder
06. marts 2010 - 13:35 #3
du kan lægge et svar, er kommet et godt stykke vidre:-)
Avatar billede keysersoze Guru
07. marts 2010 - 11:13 #4
behold du bare de point - tror ikke jeg har været til den store gavn.
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

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