21. juni 2001 - 11:03 Der er 3 kommentarer og
1 løsning

Upload billede til profil

Hejsa!

Her er en form jeg bruger til tilmelding af ny profil:

---- KODE 1 START ----

<form ACTION=\"savenewinfo.asp\" METHOD=\"post\" id=\"form\" name=\"form\">

<table Border=\"0\" width=\"433\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" cellpadding=\"0\" cellspacing=\"0\">
<tr>
<td width=\"140\"><font size=\"2\">Navn</font></td>
<td width=\"290\"><input size=\"40\" Name=\"navn\"></td>
</tr>
<tr>
<td width=\"140\"><font size=\"2\">Mail Adresse</font></td>
<td width=\"290\">
<input size=\"40\" Name=\"mail\"></td>
</tr>
<tr>
<td width=\"140\"><font size=\"2\">Telefon Nr.</font></td>
<td width=\"290\">
<input size=\"8\" Name=\"tele1\"></td>
</tr>

<tr>
<td width=\"140\"><font size=\"2\">Mobil Nr.</font></td>
<td width=\"290\">
<input size=\"8\" Name=\"tele2\"></td>
</tr>

<tr>
<td width=\"140\"><font size=\"2\">Postnr og By</font></td>
<td width=\"290\"><input size=\"40\" Name=\"postby\"></td>
</tr>

<tr>
<td width=\"140\"><font size=\"2\">Model</font></td>
<td width=\"290\"><input size=\"40\" Name=\"bilmodel\" value=\"BMW\"></td>
</tr>

<tr>
<td width=\"140\"><font size=\"2\">Type Bil</font></td>
<td width=\"290\"><input size=\"40\" Name=\"typebil\"></td>
</tr>

<tr>
<td width=\"140\"><font size=\"2\">Års Tal</font></td>
<td width=\"290\">
<input size=\"40\" Name=\"aar\"></td>
</tr>

<tr>
<td width=\"140\"><font size=\"2\">Km</font></td>
<td width=\"290\">
<input size=\"40\" Name=\"km\"></td>
</tr>

<tr>
<td width=\"140\"><font size=\"2\">Pris</font></td>
<td width=\"290\">
<input size=\"40\" Name=\"pris\"></td>
</tr>

<tr>
<td width=\"140\"><font size=\"2\">Beskrivelse af bilen</font></td>
<td width=\"290\"><textarea name=\"beskrivelse\" rows=\"6\" cols=\"30\"></textarea></td>
</tr>

<tr>
<td width=\"140\"><font size=\"2\">Dato i dag</font></td>
<td width=\"290\"><input size=\"40\" Name=\"AddDate\"></td>
</tr>

<tr>
<td width=\"140\"><font size=\"2\">Billed af bilen:</font></td>
<td width=\"290\">
<select size=\"1\" name=\"images\">
  <option>Ja</option>
  <option selected>Nej</option>
  </select><br>
<tr>
<td width=\"140\"><font size=\"2\">Billed af bilen:</font></td>
<td width=\"290\">
<input type=\"text\" name=\"imagesadresse\" size=\"40\" value=\"http://www.yepss.dk/images/logo.gif\" onfocus=\"if ( this.form.images.selectedIndex!=0 ) this.blur();\"></p><p>&nbsp;</p>
</td>
</tr>






<tr>
<td width=\"140\"><input size=\"40\" TYPE=\"submit\" Value=\"Opret\" id=\"Submit1\" name=\"Submit1\"><input TYPE=\"reset\" Value=\"Slet\" id=\"Reset1\" name=\"Reset1\"></td>
<td width=\"290\"></td>
</tr>

</table></form>

---- KODE 1 SLUT ----

Her er en kode jeg skal bruge sådan så brugeren kan uploade sit billede i stedet for at skulle skrive en URL til billede:

---- KODE 2 START ----

---------------------
ASP FIL: Uploadfile.asp
---------------------


<form METHOD=\"Post\" ENCTYPE=\"multipart/form-data\" ACTION=\"outputFile.asp\" id=\"form3\" name=\"form3\">
<input TYPE=\"file\" NAME=\"blob\"><br>
<input TYPE=\"submit\" value=\"Upload billede\" NAME=\"Enter\">

---------------------
ASP FIL: Upload.asp
---------------------

<%
Sub BuildUploadRequest(RequestBin)
    \'Get the boundary
    PosBeg = 1
    PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
    boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
    boundaryPos = InstrB(1,RequestBin,boundary)
    \'Get all data inside the boundaries
    Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString(\"--\")))
        \'Members variable of objects are put in a dictionary object
        Dim UploadControl
        Set UploadControl = CreateObject(\"Scripting.Dictionary\")
        \'Get an object name
        Pos = InstrB(BoundaryPos,RequestBin,getByteString(\"Content-Disposition\"))
        Pos = InstrB(Pos,RequestBin,getByteString(\"name=\"))
        PosBeg = Pos+6
        PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
        Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
        PosFile = InstrB(BoundaryPos,RequestBin,getByteString(\"filename=\"))
        PosBound = InstrB(PosEnd,RequestBin,boundary)
        \'Test if object is of file type
        If  PosFile<>0 AND (PosFile<PosBound) Then
            \'Get Filename, content-type and content of file
            PosBeg = PosFile + 10
            PosEnd =  InstrB(PosBeg,RequestBin,getByteString(chr(34)))
            FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
            \'Add filename to dictionary object
            UploadControl.Add \"FileName\", FileName
            Pos = InstrB(PosEnd,RequestBin,getByteString(\"Content-Type:\"))
            PosBeg = Pos+14
            PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
            \'Add content-type to dictionary object
            ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
            UploadControl.Add \"ContentType\",ContentType
            \'Get content of object
            PosBeg = PosEnd+4
            PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
            Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
            Else
            \'Get content of object
            Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
            PosBeg = Pos+4
            PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
            Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
        End If
        \'Add content to dictionary object
    UploadControl.Add \"Value\" , Value   
        \'Add dictionary object to main dictionary
    UploadRequest.Add name, UploadControl   
        \'Loop to next object
        BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
    Loop

End Sub

\'String to byte string conversion
Function getByteString(StringStr)
For i = 1 to Len(StringStr)
    char = Mid(StringStr,i,1)
    getByteString = getByteString & chrB(AscB(char))
Next
End Function

\'Byte string to string conversion
Function getString(StringBin)
getString =\"\"
For intCount = 1 to LenB(StringBin)
    getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
Next
End Function
%>

---------------------
ASP FIL: Outputfile.asp
---------------------

<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject(\"Scripting.Dictionary\")
BuildUploadRequest(RequestBin)
contentType = UploadRequest.Item(\"blob\").Item(\"ContentType\")
filepathname = UploadRequest.Item(\"blob\").Item(\"FileName\")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,\"\\\"))
value = UploadRequest.Item(\"blob\").Item(\"Value\")
Set ScriptObject = Server.CreateObject(\"Scripting.FileSystemObject\")
\'pathEnd = Len(Server.mappath(Request.ServerVariables(\"PATH_INFO\")))-14
\'Response.Write (Request.ServerVariables(\"PATH_INFO\"))
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(\"\"&filename))
For i = 1 to LenB(value)
    MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close    %>

<!--#include file=\"upload.asp\"-->

---- KODE 2 SLUT ----

Ja kode 1 virker til at tilføje informationerne til databasen.
Kode 2 virker til at uploade en fil.
Men er der ikke en der kan hjælpe mig med at sætte disse 2 script sammen ?
Sådan så brugeren kan udfylde sine informaioner og samtidlig kan vælge hvor på sin harddisk billede der skal uploades er hvis altså brugeren vil have billede på.
Altså sådan så hvis bruger svare JA til at have billede på så skal informationern om billedes navn gemmes i databasen ligesom de andre oplysninger om brugeren gør.
Hvis brugeren svare NEJ til billede skal den ikke gemme nogle oplysninger om billede på harddisken.

HJÆLP :)
21. juni 2001 - 11:08 #1
Altså upload billedet hvis bruger vælger et og gem navnet på billedet i databasen og hvis bruger ikke vælger noget billede skal der ikke gemes nogle oplysniner i databasen om billedet men brugerns andre oplysninger skal selvfølig blive gemt.... Hjælp.... Tak!
21. juni 2001 - 11:31 #2
Hey Er der ingen der vil hjælpe ?
Avatar billede zoidberg Nybegynder
21. juni 2001 - 13:00 #3
put formen fra uploadfile.asp op i den første form.

I outputfile.asp laver du så en if sætning:

<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear

if request.form(\"blob\") = \"\" then

\'indsæt data uden billede

else

\'indsæt med billede

\'upload billede

byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject(\"Scripting.Dictionary\")
BuildUploadRequest(RequestBin)
contentType = UploadRequest.Item(\"blob\").Item(\"ContentType\")
filepathname = UploadRequest.Item(\"blob\").Item(\"FileName\")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,\"\\\"))
value = UploadRequest.Item(\"blob\").Item(\"Value\")
Set ScriptObject = Server.CreateObject(\"Scripting.FileSystemObject\")
\'pathEnd = Len(Server.mappath(Request.ServerVariables(\"PATH_INFO\")))-14
\'Response.Write (Request.ServerVariables(\"PATH_INFO\"))
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(\"\"&filename))
For i = 1 to LenB(value)
    MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close    %>

<!--#include file=\"upload.asp\"-->

<% end if %>
21. juni 2001 - 13:23 #4
Tak !
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