Avatar billede jonasclub-p Nybegynder
17. januar 2003 - 14:04 Der er 4 kommentarer og
1 løsning

Billede Profil

Jeg har denne potal www.club-p.dk hvor man kan oprette  sig som bruger. men jeg kunne godt tænke mig at man kunne oprette en billede profil i stedet for bare en normal profil. hvad skal jeg bruge af script og hvor kan man downloade dem. altså brugerne skal selv kunne oploade et billede

Ps kan i ikke lave liste med de ting der skal bruges for at få denne funktion tilat virke
Avatar billede niceday Nybegynder
17. januar 2003 - 14:11 #1
Du skal bruge en komponent til Upload: ASPUpload (http://www.aspupload.com/=
Og evt. en komponent til billedbehandning: ASPImage

Og naturligvis lidt kode:
- Skal hente billedet fra brugeren og gemme det fysisk på serveren
- Skal gemme sti og filnavn på billedet i en database, så dette har relation til profilen.
Avatar billede slapstick Nybegynder
17. januar 2003 - 14:46 #2
man kan også gøre det uden komponent
eksempel følger:

----- form.html -----
<html>
<head>
</head>
<body>
<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="uploading.asp">
<b><font class="text" color="#F83508">Billede:</font></b>
<br>
<INPUT TYPE=FILE NAME="FILE1"><br><br>
<input type="hidden" name="mode" value="<%=crapola %>">
<input type="hidden" name="prodid" value="<%=prodid %>">
<input type="hidden" name="produkttype" value="<%=kategori %>">
<INPUT TYPE=SUBMIT VALUE="Upload!"">
</FORM>
</body>
</html>

----- form.html slut -----

----- uploading.asp -----

<%
Dim Conn
%>
<!--#include file="include/dbconn.inc"--> '<--- database connection streng
<!-- #include file="upload.asp" --> '<---- upload class som scriptet bruger til at uploade
<%
Dim Uploader, File
Set Uploader = New FileUploader
Uploader.Upload()
' Check if any files were uploaded
If Uploader.Files.Count = 0 Then
    Response.Write "File(s) not uploaded."
Else

    For Each File In Uploader.Files.Items
       

            prodid = Uploader.Form("prodid")
            prod = Uploader.Form("produkttype")
            filnavn = File.FileName
            File.SaveToDisk Server.MapPath ("produkter\") '<--- stien til der hvor billedet skal ligge...
            addpic = "UPDATE produkter SET billede = '" & filnavn & "' WHERE produktid = " & prodid & ""
            Conn.Execute(addpic)
Next
End If
%>
<html>
<head>
</head>
<body>
produkt oprettet og billede uploadet....
</body>
</html>
<!--#include file="include/dbconn.inc"--> '<--- lukker forbindelse til basen

----- uploading.asp slut -----

----- upload.asp -----

<%
'***************************************
' File:      Upload.asp
' Author: Jacob "Beezle" Gilley
' Email:  avis7@airmail.net
' Date:  12/07/2000
' Comments: The code for the Upload, CByteString,
'            CWideString    subroutines was originally
'            written by Philippe Collignon...or so
'            he claims. Also, I am not responsible
'            for any ill effects this script may
'            cause and provide this script "AS IS".
'            Enjoy!
'****************************************

Class FileUploader
    Public  Files
    Private mcolFormElem

    Private Sub Class_Initialize()
        Set Files = Server.CreateObject("Scripting.Dictionary")
        Set mcolFormElem = Server.CreateObject("Scripting.Dictionary")
    End Sub
   
    Private Sub Class_Terminate()
        If IsObject(Files) Then
            Files.RemoveAll()
            Set Files = Nothing
        End If
        If IsObject(mcolFormElem) Then
            mcolFormElem.RemoveAll()
            Set mcolFormElem = Nothing
        End If
    End Sub

    Public Property Get Form(sIndex)
        Form = ""
        If mcolFormElem.Exists(LCase(sIndex)) Then Form = mcolFormElem.Item(LCase(sIndex))
    End Property

    Public Default Sub Upload()
        Dim biData, sInputName
        Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos
        Dim nPosFile, nPosBound

        biData = Request.BinaryRead(Request.TotalBytes)
        nPosBegin = 1
        nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
       
        If (nPosEnd-nPosBegin) <= 0 Then Exit Sub
       
        vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
        nDataBoundPos = InstrB(1, biData, vDataBounds)
       
        Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--"))
           
            nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition"))
            nPos = InstrB(nPos, biData, CByteString("name="))
            nPosBegin = nPos + 6
            nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
            sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
            nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename="))
            nPosBound = InstrB(nPosEnd, biData, vDataBounds)
           
            If nPosFile <> 0 And  nPosFile < nPosBound Then
                Dim oUploadFile, sFileName
                Set oUploadFile = New UploadedFile
               
                nPosBegin = nPosFile + 10
                nPosEnd =  InstrB(nPosBegin, biData, CByteString(Chr(34)))
                sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
                oUploadFile.FileName = Right(sFileName, Len(sFileName)-InStrRev(sFileName, "\"))

                nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:"))
                nPosBegin = nPos + 14
                nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
               
                oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
               
                nPosBegin = nPosEnd+4
                nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
                oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
               
                If oUploadFile.FileSize > 0 Then Files.Add LCase(sInputName), oUploadFile
            Else
                nPos = InstrB(nPos, biData, CByteString(Chr(13)))
                nPosBegin = nPos + 4
                nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
                If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
            End If

            nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData, vDataBounds)
        Loop
    End Sub

    'String to byte string conversion
    Private Function CByteString(sString)
        Dim nIndex
        For nIndex = 1 to Len(sString)
          CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1)))
        Next
    End Function

    'Byte string to string conversion
    Private Function CWideString(bsString)
        Dim nIndex
        CWideString =""
        For nIndex = 1 to LenB(bsString)
          CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1)))
        Next
    End Function
End Class

Class UploadedFile
    Public ContentType
    Public FileName
    Public FileData
   
    Public Property Get FileSize()
        FileSize = LenB(FileData)
    End Property

    Public Sub SaveToDisk(sPath)
        Dim oFS, oFile
        Dim nIndex
   
        If sPath = "" Or FileName = "" Then Exit Sub
        If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\"
   
        Set oFS = Server.CreateObject("Scripting.FileSystemObject")
        If Not oFS.FolderExists(sPath) Then Exit Sub
       
        Set oFile = oFS.CreateTextFile(sPath & FileName, True)
       
        For nIndex = 1 to LenB(FileData)
            oFile.Write Chr(AscB(MidB(FileData,nIndex,1)))
        Next

        oFile.Close
    End Sub
   
    Public Sub SaveToDatabase(ByRef oField)
        If LenB(FileData) = 0 Then Exit Sub
       
        If IsObject(oField) Then
            oField.AppendChunk FileData
        End If
    End Sub

End Class
%>

----- upload.asp slut -----

bemærk dog at den ikke gemmer billedet i databasen....
håber det kan bruges :)
Avatar billede websam Nybegynder
17. januar 2003 - 16:58 #3
Denne her er helt fin den oploader til databasen og der følger forklaring med til den : http://www.stardeveloper.com/downloads/zip/2001033101.zip

/WebSam
Avatar billede jonasclub-p Nybegynder
19. januar 2003 - 14:26 #4
men jeg kan ikke bruge den hvis den ikke gemmer i databasen
Avatar billede jonasclub-p Nybegynder
18. februar 2003 - 19:09 #5
har selv lavet noget
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