Avatar billede no_doubt Nybegynder
08. august 2005 - 12:58 Der er 21 kommentarer og
2 løsninger

omdøb ved upload

jeg har et fso upload script men jeg vil gerne have navnet på filen der bliver uploadet ændret. Nogen der ved hvordan jeg kan gøre det
Avatar billede no_doubt Nybegynder
08. august 2005 - 12:59 #1
Jeg vil lige indskyde at jeg har prøvet lidt fra :

http://www.sqldts.com/default.aspx?292

men det synes ikke at ændre det store
Avatar billede hiks Nybegynder
08. august 2005 - 16:04 #2
hej

du ved hvad filen hedder og hvor filen ligger? For så kan du bare smide den igennem denne funktion:

<%
    Function Rename(oldFileName, newFileName)
        dim fso, fileX
       
        On Error Resume Next
       
        set fso = createobject("scripting.filesystemobject")
       
        If fso.FileExists(oldFileName) = True Then
            set fileX = fso.GetFile(oldFileName)
            fileX.Move newFileName
            Rename = True
        Else
            Rename = False
        End if
       
        If Err.number <> 0 then
            Rename = False
        End if
       
        set fileX = Nothing
        Set fso = Nothing
       
    End Function
   
    If Rename("C:\Inetpub\wwwroot\test.txt", "C:\Inetpub\wwwroot\test1.txt") then
        Response.Write "Filen blev omdøbt!"
    Else
        Response.Write "Filen blev IKKE omdøbt!"
    end if
   

%>

/hiks
Avatar billede no_doubt Nybegynder
08. august 2005 - 17:11 #3
Du kunne ikke se hvad du kunne gøre ved: http://www.eksperten.dk/spm/638272

det er scriptet det skal arbejde i..
Avatar billede hiks Nybegynder
08. august 2005 - 19:54 #4
hej igen

Jeg har gjort følgende:
- Tilføjet rename funktionen i dit script
- Tilføjet således at filer uploaded får unikke filnavne (undgår overskrivninger)

<%@ Language=VBScript %>
<%
    Dim UPLOAD_PATH
        UPLOAD_PATH    = Server.MapPath("files")

    Dim g_oFso, g_oFolder, g_oFile
        Set g_oFso    = Server.CreateObject("Scripting.FileSystemObject")
        Set g_oFolder    = g_oFso.getFolder(UPLOAD_PATH)

    If (Request.ServerVariables("REQUEST_METHOD") = "POST") Then
        Dim g_oUpload
            Set g_oUpload    = get_upload_files()

        Dim fpos, fcontent, strOldFileName, strNewFileName
            fcontent    = g_oUpload("upload").Item("content")
            strOldFileName = UPLOAD_PATH & "\" & extract_filename(g_oUpload("upload").Item("filename"))
        Set g_oFile    = g_oFso.CreateTextFile(strOldFileName)
       
        For fpos = 1 to LenB(fcontent)
            g_oFile.Write chr(AscB(MidB(fcontent, fpos, 1)))
        Next
       
        g_oFile.Close
        Set g_oFile = Nothing
       
        'laver nyt unikt filnavn og tilføjer oprindelig extension
        'det er smart hvis du vil undgå at folk skulle overskrive filerne
        'du kan selv angive filnavne på anden måde hvis du har lyst!
        strNewFileName = UPLOAD_PATH & "\" & GetGuid & "." & GetExt(strOldFileName)
       
        'omdøber filen
        If Rename(strOldFileName, strNewFileName) then
            'Gør noget i tilfælde af at filen blev omdøbt
        Else
            'Gør noget i tilfælde af at filen IKKE blev omdøbt
        end if       
       
        Response.Redirect Request.ServerVariables("SCRIPT_NAME")
    End If

    Response.Write "<html><body><table>"
    Response.Write "<tr><td><hr></td></tr>"
    For Each g_oFile In g_oFolder.Files
        Response.Write "<tr><td><a href=""files/" & g_oFile.Name & """>" & g_oFile.name & "</a></td></tr>"
    Next
    Response.Write "<tr><td><hr></td></tr>"
    Response.Write "<tr><td align=""right""><form name=""frmUpload"" method=""post"" enctype=""multipart/form-data"" action=""" & Request.ServerVariables("SCRIPT_NAME") & """>"
    Response.Write "<input type=""file"" name=""upload""> &nbsp; <input type=""submit"" value=""upload""></td></tr>"
    Response.Write "</table></body></html>"

    Function get_upload_files()
        Dim    upload_object, request_binaries
        Dim position_start, position_end
        Dim boundary, boundary_pos

        Set upload_object    = Server.CreateObject("Scripting.Dictionary")
        request_binaries    = Request.BinaryRead(Request.TotalBytes)
        position_start        = 1
        position_end        = InstrB(position_start, request_binaries, get_byte_string(chr(13)))
        boundary            = MidB(request_binaries, position_start, (position_end - position_start))
        boundary_pos        = InstrB(1, request_binaries, boundary)

        Do Until (boundary_pos = InstrB(request_binaries, boundary & get_byte_string("--")))
            If Not(Response.IsClientConnected) Then Response.End

            Dim name, pos_file

            position_start    = (InstrB(InstrB(boundary_pos, request_binaries, get_byte_string("Content-Disposition")), request_binaries, get_byte_string("name=")) + 6)
            position_end    = InstrB(position_start, request_binaries, get_byte_string(chr(34)))

            name            = get_string(MidB(request_binaries, position_start, (position_end - position_start)))
            pos_file        = InstrB(boundary_pos, request_binaries, get_byte_string("filename="))

            If  ((pos_file <> 0) AND (pos_file < InstrB(position_end, request_binaries, boundary))) Then
                upload_object.Add name, Server.CreateObject("Scripting.Dictionary")

                position_start    = (pos_file + 10)
                position_end    = InstrB(position_start, request_binaries, get_byte_string(chr(34)))
                upload_object.item(name).Add "filename", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

                position_start    = (InstrB(position_end, request_binaries, get_byte_string("Content-Type:")) + 14)
                position_end    = InstrB(position_start, request_binaries, get_byte_string(chr(13)))
                upload_object.item(name).Add "content-type", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

                position_start    = (position_end + 4)
                position_end    = InstrB(position_start, request_binaries, boundary) - 2
                upload_object.item(name).Add "size", ((position_end - position_start))
                upload_object.item(name).Add "content", MidB(request_binaries, position_start, (position_end - position_start))
            End If
            boundary_pos    = InstrB(boundary_pos + LenB(boundary), request_binaries, boundary)
        Loop

        Set get_upload_files = upload_object
    End Function

    Function get_byte_string(str)
        Dim cnt
        For cnt = 1 to Len(str)
            get_byte_string    = get_byte_string & chrB(AscB(Mid(str, cnt, 1)))
        Next
    End Function

    Function get_string(str)
        Dim cnt
        For cnt = 1 to LenB(str)
            get_string    = get_string & chr(AscB(MidB(str, cnt, 1)))
        Next
    End Function

    Function extract_filename(filename)
        extract_filename    = Right(filename, Len(filename) - InStrRev(filename, "\", -1, 1))
    End Function

    Function Rename(oldFileName, newFileName)
        dim fso, fileX
       
        On Error Resume Next
       
        set fso = createobject("scripting.filesystemobject")
       
        If fso.FileExists(oldFileName) = True Then
            set fileX = fso.GetFile(oldFileName)
            fileX.Move newFileName
            Rename = True
        Else
            Rename = False
        End if
       
        If Err.number <> 0 then
            Rename = False
        End if
        Response.write filex.name
        set fileX = Nothing
        Set fso = Nothing
       
    End Function
   
    Function GetGuid()
        'Denne funktion returnere en såkaldt GUID ~ unik ID...
        Dim TypeLib, guid_temp
        Set TypeLib = Server.CreateObject("Scriptlet.TypeLib")
       
        'A true GUID contains a unicode null termination, that needs to be stripped to behave like
        ' a string.
        guid_temp = TypeLib.Guid
        GetGuid = Left(guid_temp, Len(guid_temp) - 2)
        Set TypeLib = Nothing
    End Function
   
    Function GetExt(strFileName)
        'tager extension og går ud fra at det er de sidste 3 cifre
        'ikke særlig sikkert men ok til det meste :o)   
        If Len(strFileName) > 5 then
            GetExt = Right(strFileName, 3)
        Else
            GetExt = ""
        End if
   
    End Function
%>

</BODY>
</HTML>


/hiks
Avatar billede no_doubt Nybegynder
08. august 2005 - 21:41 #5
filnavnet skal være session("brugernavn") kan du klare den
Avatar billede no_doubt Nybegynder
08. august 2005 - 21:50 #6
har løst det. Men hvordan går jeg filnavn + sti ind i  min db på samme tid ?
Avatar billede hiks Nybegynder
08. august 2005 - 21:55 #7
du putter bare strNewFileName ind i din db - det er jo det nye navn! :o)

/hiks
Avatar billede no_doubt Nybegynder
08. august 2005 - 22:28 #8
kunne du ikke kigge forbi msn: mark.mikkelsen@mail.dk
Avatar billede hiks Nybegynder
08. august 2005 - 22:37 #9
bruge desværre ik msn! :o)

/hiks
Avatar billede no_doubt Nybegynder
08. august 2005 - 22:49 #10
har du ikke en mail jeg kan sende dig en side til. Nu har jeg siddet og forsøg at få det implementeret på siden men det vil ikke fungere..
Avatar billede hiks Nybegynder
08. august 2005 - 23:05 #11
kan du ikke bare poste det her?

/hiks
Avatar billede no_doubt Nybegynder
08. august 2005 - 23:10 #12
det er meget men ok



<html>
<head>
<title>De Stolte Husarer</title>
</head>
<body>
<font face="Arial" size="2">
<%
if request.querystring("opdater") = "fin" then
status = "Dine data er nu opdateret"
end if
%>
<%
if session("brugernavn") = "" then
Response.Redirect("default.asp?logud=ok")
end if
%>
<%
if request.querystring("logud") = "ok" then                   
Session.Abandon
Response.Redirect("bruger.asp")
end if %>
<%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("ant.mdb")
sql = "select * from brugerinfo where brugernavn = '" & Session("brugernavn") & "'"
Set rs = Conn.Execute(sql)
%>
<%
if request.querystring("opdater") = "ok" then   
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("ant.mdb")
sql = "UPDATE brugerinfo SET rigtignavn = '" & request.form("rigtignavn") &"', bosat = '" & request.form("bosat") &"', Adresse ='" & request.form("adresse") &"' where brugernavn = '" & Session("brugernavn") & "'"
Conn.Execute(sql)
response.redirect "bruger.asp?opdater=fin"
end if
%>
</font>
<form method="POST" action="bruger.asp?opdater=ok">
<div align="center">
    <table border="0" width="100%" id="table3" height="532">
        <tr>
            <td width="62" height="254" align="left" valign="top">
                <font face="Arial" size="2">
                <a id="SiteLogo1_hlLogo" href="http://forsvaret.dk/GHR/">
                <img id="SiteLogo1_imgLogo" alt="Gardehusarregimentets mærke" src="ghrlogo.jpg" border="0"></a></font></td>
            <td rowspan="2" width="848" valign="top">
            <p align="center">&nbsp;<p align="center">&nbsp;<div align="center">
                <table border="1" id="table4" width="734" bordercolor="#000000">
                    <tr>
                        <td align="center" bgcolor="#008080" width="146">
                        <font face="Arial" size="2" color="#FFFFFF">
                        <a href="bruger.asp"><font color="#FFFFFF">
                        <span style="text-decoration: none">Din side</span></font></a></font></td>
                        <td align="center" bgcolor="#008080" width="146">
                        <font face="Arial" size="2" color="#FFFFFF">
                        <span style="text-decoration: none">
                        <a href="beskeder.asp">
                        <font color="#FFFFFF">
                        <span style="text-decoration: none">Nyeste
                        beskeder</span></font></a></span></font></td>
                        <td align="center" bgcolor="#008080" width="146" colspan="2">
                        <font face="Arial" size="2" color="#FFFFFF">Internt
                        postsystem</font></td>
                        <td align="center" bgcolor="#008080" width="146">
                        <font face="Arial" size="2" color="#FFFFFF">Billeder</font></td>
                        <td align="center" bgcolor="#008080" width="146">
                        <font face="Arial" size="2">
                        <a href="bruger.asp?logud=ok"><font color="#FFFFFF">
                        <span style="text-decoration: none">Logud</span></font></a></font></td>
                    </tr>
                    <tr>
                        <td align="center" bgcolor="#008080" width="365" colspan="3">
                        <blockquote>
                            <p align="left"><font color="#FFFFFF"><br>
                            <b><font face="Arial" size="2">Dine brugerinfo</font></b><br>
                            <br>
                            <font face="Arial" size="2">Brugernavn:
                            <input type="text" name="brugernavn" size="20" style="color: #FFFFFF; border: 1px solid #008080; background-color: #008080; font-family:Arial; font-size:10pt; vertical-align:bottom" value="<%=rs("brugernavn")%>"readonly ><br>
                            <br>Navn: <font color="#FFFFFF">
                            <font face="Arial" size="2">
                            <input type="text" name="rigtignavn" size="20" style="color: #FFFFFF; border: 1px solid #008080; background-color: #008080; font-family:Arial; font-size:10pt; vertical-align:bottom" value="<%=rs("rigtignavn")%>"></font></font><br>
                            <br>By: <font color="#FFFFFF">
                            <font face="Arial" size="2">
                            <input type="text" name="bosat" size="20" style="color: #FFFFFF; border: 1px solid #008080; background-color: #008080; font-family:Arial; font-size:10pt; vertical-align:bottom" value="<%=rs("bosat")%>"></font></font><br>
                            <br>Adresse: <font color="#FFFFFF">
                            <font face="Arial" size="2">
                            <input type="text" name="adresse" size="20" style="color: #FFFFFF; border: 1px solid #008080; background-color: #008080; font-family:Arial; font-size:10pt; vertical-align:bottom" value="<%=rs("adresse")%>"><br>
                            <br>
                            <img border="0" src="files\<%=session("brugernavn")%>.jpg" width="103" height="124" style="border: 1px solid #000000"><br>
                            </font></font></font></font>
                            <input type="file" name="F1" size="20"><font color="#FFFFFF"><br>
                            <br>
                            <input type="submit" value="Opdater" name="B2" style="border: 1px solid #008080"></font></blockquote>
                        </td>
                        <td align="center" bgcolor="#008080" width="365" colspan="3" valign="top">
                        <blockquote>
                            <p align="left"><font color="#FFFFFF"><br>
                            <font face="Arial" size="2"><b>Statistik
                            <%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("ant.mdb")
sql = "select count(*) as antal from brugerinfo"
sql2 = "select count(*) as antal from brugerinfo where valideret = true"
set rs = Conn.Execute(sql)
set rs2 = Conn.Execute(sql2)               
               
%><br>
                            <br>
                            </b>Samlet antal registrerede brugere: <%=rs("antal")%><br>
                            Heraf er <%=rs2("antal")%> valideret</font></font></p>
                        </blockquote>
                        </td>
                    </tr>
                </table>
                </form>
            </div>
            <p align="center">&nbsp;</td>
            <td align="right" valign="top" height="254">
            <font face="Arial" size="2">
            <a id="SiteLogo1_hlLogo1" href="http://forsvaret.dk/GHR/">
            <img id="SiteLogo1_imgLogo1" alt="Gardehusarregimentets mærke" src="ghrlogo.jpg" border="0"></a></font></td>
        </tr>
        <tr>
            <td width="62" height="255" align="left" valign="bottom">
            <div align="center">
                <font face="Arial" size="2">
            <a id="SiteLogo1_hlLogo2" href="http://forsvaret.dk/GHR/">
            <img id="SiteLogo1_imgLogo2" alt="Gardehusarregimentets mærke" src="ghrlogo.jpg" border="0"></a></font></div>
            </td>
            <td align="right" valign="bottom" height="255">
            &nbsp;<p>
            <font face="Arial" size="2">
            <a id="SiteLogo1_hlLogo0" href="http://forsvaret.dk/GHR/">
            <img id="SiteLogo1_imgLogo0" alt="Gardehusarregimentets mærke" src="ghrlogo.jpg" border="0"></a></font></td>
        </tr>
        <tr>
            <td height="19" align="left" valign="bottom">
            &nbsp;</td>
            <td height="19" align="left" valign="top" style="border: 1px dotted #000000" bgcolor="#008080">
            <b>
            <font face="Arial" size="2">Statusmelding: <%=status%></font></b></td>
            <td height="19" align="left" valign="bottom">
            &nbsp;</td>
        </tr>
    </table>
</div>
</form>

</body>
</html>

som du kan se skulle det gerne inplementeres således at upload formen virker...
Avatar billede hiks Nybegynder
08. august 2005 - 23:21 #13
dvs du skal bruge ovenstående upload script i sammenhæng med det dér?

- hvis "ja": Så kan jeg kun svare det kan du ikke umiddelbart. Du kan ikke uploade uden brug af komponent og så stadig fange dine form-elementer som navn osv. Det bliver du nødt til at lave over 2 steps eller lign. Så du vil aldrig få din upload-side inkluderet på den måde der medmindre du bruger et upload komponent.

- hvis "nej": Godt! :o) Men hvor er din upload side så?

/hiks
Avatar billede hiks Nybegynder
08. august 2005 - 23:23 #14
du kan evt. lave "upload processen" i et popup-vindue hvorved det lukkes når der er uploadet...

/hiks
Avatar billede no_doubt Nybegynder
08. august 2005 - 23:27 #15
kan det ikke laves med to knapper, en til data og en til  billede ?
Avatar billede hiks Nybegynder
08. august 2005 - 23:28 #16
jow men du kan ikke poste begge ting på een gang - så det bliver ikke særligt brugervenligt - for man kan ikke begge ting...

/hiks
Avatar billede no_doubt Nybegynder
08. august 2005 - 23:30 #17
Smider ikke ikke en "Gem billede" knap ind. Og ændre opdater til "Gem data"

så kunne det lade sig gøre. Ikke ?
Avatar billede hiks Nybegynder
08. august 2005 - 23:37 #18
jow - du skal huske også at lave det i to forskellige forms og den ene (den med billedet) skal have en enctype="multipart/form-data"...

/hiks
Avatar billede no_doubt Nybegynder
08. august 2005 - 23:38 #19
Kunne du ikke bikse det samme, Ved det ender galt.
Avatar billede hiks Nybegynder
08. august 2005 - 23:55 #20
jeg kommer med en løsning til dig imorgen formiddag - det bliver dog i popup form - da det er nemmest så kan du jo selv tage den derfra.

nat nat

/hiks
Avatar billede hiks Nybegynder
09. august 2005 - 12:24 #21
hva hedder din attribut i databasen hvor du vil have billedets placering til at være?

/hiks
Avatar billede hiks Nybegynder
09. august 2005 - 12:59 #22
hep

har lavet nu så du kun skal rette et par småting. Har ændret i din "bruger.asp" fil hvor der måske skal rettes et link til upload-siden. Ellers er der tilføjet et pop-upscript, lukning af dine forbindelse til database, og en if-statement der tester om rs("billede") er tom. Din bruger.asp ser således ud nu:

<html>
<head>
    <title>De Stolte Husarer</title>
    <SCRIPT>
        <!-- Begin
            function popUp(URL) {
            day = new Date();
            id = day.getTime();
            eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=1,menubar=0,resizable=0,width=300,height=200,left = 490,top = 362');");
            }
        // End -->
    </SCRIPT>
</head>
<body>
<font face="Arial" size="2">
<%

Sub CleanUp(rsObject)
   
    On Error Resume Next
    rsObject.Close
    set rsObject = Nothing
   
End Sub

if request.querystring("opdater") = "fin" then
    status = "Dine data er nu opdateret"
end if

if session("brugernavn") = "" then
    Response.Redirect("default.asp?logud=ok")
end if

if request.querystring("logud") = "ok" then                   
    Session.Abandon
    Response.Redirect("bruger.asp")
end if

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("ant.mdb")
sql = "select * from brugerinfo where brugernavn = '" & Session("brugernavn") & "'"
Set rs = Conn.Execute(sql)

if request.querystring("opdater") = "ok" then   
    Set conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("ant.mdb")
    sql = "UPDATE brugerinfo SET rigtignavn = '" & request.form("rigtignavn") &"', bosat = '" & request.form("bosat") &"', Adresse ='" & request.form("adresse") &"' where brugernavn = '" & Session("brugernavn") & "'"
    Conn.Execute(sql)
   
    Conn.Close
    Set Conn = Nothing
    response.redirect "bruger.asp?opdater=fin"
end if
%>
</font>
<form method="POST" action="bruger.asp?opdater=ok">
<div align="center">
    <table border="0" width="100%" id="table3" height="532">
        <tr>
            <td width="62" height="254" align="left" valign="top">
                <font face="Arial" size="2">
                <a id="SiteLogo1_hlLogo" href="http://forsvaret.dk/GHR/">
                <img id="SiteLogo1_imgLogo" alt="Gardehusarregimentets mærke" src="ghrlogo.jpg" border="0"></a></font></td>
            <td rowspan="2" width="848" valign="top">
            <p align="center">&nbsp;<p align="center">&nbsp;<div align="center">
                <table border="1" id="table4" width="734" bordercolor="#000000">
                    <tr>
                        <td align="center" bgcolor="#008080" width="146">
                        <font face="Arial" size="2" color="#FFFFFF">
                        <a href="bruger.asp"><font color="#FFFFFF">
                        <span style="text-decoration: none">Din side</span></font></a></font></td>
                        <td align="center" bgcolor="#008080" width="146">
                        <font face="Arial" size="2" color="#FFFFFF">
                        <span style="text-decoration: none">
                        <a href="beskeder.asp">
                        <font color="#FFFFFF">
                        <span style="text-decoration: none">Nyeste
                        beskeder</span></font></a></span></font></td>
                        <td align="center" bgcolor="#008080" width="146" colspan="2">
                        <font face="Arial" size="2" color="#FFFFFF">Internt
                        postsystem</font></td>
                        <td align="center" bgcolor="#008080" width="146">
                        <font face="Arial" size="2" color="#FFFFFF">Billeder</font></td>
                        <td align="center" bgcolor="#008080" width="146">
                        <font face="Arial" size="2">
                        <a href="bruger.asp?logud=ok"><font color="#FFFFFF">
                        <span style="text-decoration: none">Logud</span></font></a></font></td>
                    </tr>
                    <tr>
                        <td align="center" bgcolor="#008080" width="365" colspan="3">
                        <blockquote>
                            <p align="left"><font color="#FFFFFF"><br>
                            <b><font face="Arial" size="2">Dine brugerinfo</font></b><br>
                            <br>
                            <font face="Arial" size="2">Brugernavn:
                            <input type="text" name="brugernavn" size="20" style="color: #FFFFFF; border: 1px solid #008080; background-color: #008080; font-family:Arial; font-size:10pt; vertical-align:bottom" value="<%=rs("brugernavn")%>" readonly><br>
                            <br>Navn: <font color="#FFFFFF">
                            <font face="Arial" size="2">
                            <input type="text" name="rigtignavn" size="20" style="color: #FFFFFF; border: 1px solid #008080; background-color: #008080; font-family:Arial; font-size:10pt; vertical-align:bottom" value="<%=rs("rigtignavn")%>"></font></font><br>
                            <br>By: <font color="#FFFFFF">
                            <font face="Arial" size="2">
                            <input type="text" name="bosat" size="20" style="color: #FFFFFF; border: 1px solid #008080; background-color: #008080; font-family:Arial; font-size:10pt; vertical-align:bottom" value="<%=rs("bosat")%>"></font></font><br>
                            <br>Adresse: <font color="#FFFFFF">
                            <font face="Arial" size="2">
                            <input type="text" name="adresse" size="20" style="color: #FFFFFF; border: 1px solid #008080; background-color: #008080; font-family:Arial; font-size:10pt; vertical-align:bottom" value="<%=rs("adresse")%>"><br>
                            <br>
                            <%
                                dim strBilledeSti
                               
                                If rs("billede") <> "" Then
                                    'hvis der er et billede
                                    strBilledeSti = rs("billede") 'her skal du rette din attribut
                                Else
                                    'angiv adresse til billede når intet er uploadet
                                    strBilledeSti = "files\intetbillede.jpg"
                                End if
                            %>
                            <img border="0" src="<%=strBilledeSti%>" width="103" height="124" style="border: 1px solid #000000"><br>
                            </font></font></font></font>
                            <A HREF="java script:popUp('http://<%=Request.ServerVariables("HTTP_HOST")%>/uploadform.asp')">Upload billede (åbner i popup-vindue)</A>
                            <br><br>
                            <input type="submit" value="Opdater data" name="B2" style="border: 1px solid #008080"></font></blockquote>
                        </td>
                        <td align="center" bgcolor="#008080" width="365" colspan="3" valign="top">
                        <blockquote>
                            <p align="left"><font color="#FFFFFF"><br>
                            <font face="Arial" size="2"><b>Statistik
                            <%
                                Set conn = Server.CreateObject("ADODB.Connection")
                                Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("ant.mdb")
                                sql = "select count(*) as antal from brugerinfo"
                                sql2 = "select count(*) as antal from brugerinfo where valideret = true"
                                set rs = Conn.Execute(sql)
                                set rs2 = Conn.Execute(sql2)               
               
                            %>
                            <br>
                            <br>
                            </b>Samlet antal registrerede brugere: <%=rs("antal")%><br>
                            Heraf er <%=rs2("antal")%> valideret</font></font></p>
                            <%
                                'lukker recordsæts
                                Call CleanUp(rs)
                                Call CleanUp(rs2)
                               
                                'lukker database forbindelsen
                                Conn.Close
                                Set Conn = Nothing
                            %>
                        </blockquote>
                        </td>
                    </tr>
                </table>
                </form>
            </div>
            <p align="center">&nbsp;</td>
            <td align="right" valign="top" height="254">
            <font face="Arial" size="2">
            <a id="SiteLogo1_hlLogo1" href="http://forsvaret.dk/GHR/">
            <img id="SiteLogo1_imgLogo1" alt="Gardehusarregimentets mærke" src="ghrlogo.jpg" border="0"></a></font></td>
        </tr>
        <tr>
            <td width="62" height="255" align="left" valign="bottom">
            <div align="center">
                <font face="Arial" size="2">
            <a id="SiteLogo1_hlLogo2" href="http://forsvaret.dk/GHR/">
            <img id="SiteLogo1_imgLogo2" alt="Gardehusarregimentets mærke" src="ghrlogo.jpg" border="0"></a></font></div>
            </td>
            <td align="right" valign="bottom" height="255">
            &nbsp;<p>
            <font face="Arial" size="2">
            <a id="SiteLogo1_hlLogo0" href="http://forsvaret.dk/GHR/">
            <img id="SiteLogo1_imgLogo0" alt="Gardehusarregimentets mærke" src="ghrlogo.jpg" border="0"></a></font></td>
        </tr>
        <tr>
            <td height="19" align="left" valign="bottom">
            &nbsp;</td>
            <td height="19" align="left" valign="top" style="border: 1px dotted #000000" bgcolor="#008080">
            <b>
            <font face="Arial" size="2">Statusmelding: <%=status%></font></b></td>
            <td height="19" align="left" valign="bottom">
            &nbsp;</td>
        </tr>
    </table>
</div>
</form>
</body>
</html>
Avatar billede hiks Nybegynder
09. august 2005 - 12:59 #23
uploadsiden skal hedde: uploadform.asp

og ser således ud:

<%@ Language=VBScript %>
<HEAD>
    <TITLE>Upload billede</TITLE>
</HEAD>
<%
    Dim UPLOAD_PATH
        UPLOAD_PATH    = Server.MapPath("files")

    Dim g_oFso, g_oFolder, g_oFile
        Set g_oFso    = Server.CreateObject("Scripting.FileSystemObject")
        Set g_oFolder    = g_oFso.getFolder(UPLOAD_PATH)

    If (Request.ServerVariables("REQUEST_METHOD") = "POST") Then
        Dim g_oUpload
        Set g_oUpload    = get_upload_files()

        Dim fpos, fcontent, strOldFileName, strNewFileName, fileExtension
            fcontent    = g_oUpload("upload").Item("content")
            strOldFileName = UPLOAD_PATH & "\" & extract_filename(g_oUpload("upload").Item("filename"))
       
        'finder file-extension
        fileExtension = GetExt(strOldFileName)
       
        Select Case fileExtension
            'tilladte filtyper
            Case "jpg","gif","png","jpeg"
                Call UploadFileRename
            'forbudte tiltyper
            Case Else
                Response.Redirect Request.ServerVariables("SCRIPT_NAME") & "?status=Forkert%20filtype..."
        End Select
       
    End If

    Response.Write "<html><body><table>"
    Response.Write "<tr><td><hr></td></tr>"
   
    'bruges ikke da det viser alle filerne i uploadfolderen
    'For Each g_oFile In g_oFolder.Files
    '    Response.Write "<tr><td><a href=""files/" & g_oFile.Name & """>" & g_oFile.name & "</a></td></tr>"
    'Next
   
    Response.Write "<tr><td>Upload en jpg, gif eller png fil ved at trykke ""Gennemse..."" - vælg derefter en fil og tryk ""Upload""</td></tr>"
    Response.Write "<tr><td><hr></td></tr>"
    Response.Write "<tr><td>Status: <font color=red>" & Request.QueryString("status") & "</font></td></tr>"
    Response.Write "<tr><td align=""right""><form name=""frmUpload"" method=""post"" enctype=""multipart/form-data"" action=""" & Request.ServerVariables("SCRIPT_NAME") & """>"
    Response.Write "<input type=""file"" name=""upload""> &nbsp; <input type=""submit"" value=""upload""></td></tr>"
    Response.Write "</table></body></html>"

    Sub UploadFileRename()
        Set g_oFile    = g_oFso.CreateTextFile(strOldFileName)
           
        For fpos = 1 to LenB(fcontent)
            g_oFile.Write chr(AscB(MidB(fcontent, fpos, 1)))
        Next
           
        g_oFile.Close
        Set g_oFile = Nothing
           
        'laver filnavn som session("brugernavn")
        strNewFileName = UPLOAD_PATH & "\" & Session("brugernavn") & "." & fileExtension
           
        'omdøber filen
        If Rename(strOldFileName, strNewFileName) then
            'Gør noget i tilfælde af at filen blev omdøbt
           
            'laver database forbindelse
            Set conn = Server.CreateObject("ADODB.Connection")
            Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("ant.mdb")
           
            'updater databasen
            sql = "UPDATE brugerinfo SET billede = '" & strNewFileName &"', " & _
                  "WHERE brugernavn = '" & Session("brugernavn") & "';"
            Conn.Execute(sql)
           
            'lukker forbindelsen til databasen
            Conn.Close
            Set Conn = Nothing
           
            'lukker vinduet og refresher siden hvor brugeren kom fra...
            Response.Write "<SCRIPT>window.opener.location.reload();self.close();</SCRIPT>"
        Else
            'Gør noget i tilfælde af at filen IKKE blev omdøbt
            Response.Redirect Request.ServerVariables("SCRIPT_NAME") & "?status=Filen%20kunne%20ikke%20omdøbes..."
        End if
    End Sub

    Function get_upload_files()
        Dim    upload_object, request_binaries
        Dim position_start, position_end
        Dim boundary, boundary_pos

        Set upload_object    = Server.CreateObject("Scripting.Dictionary")
        request_binaries    = Request.BinaryRead(Request.TotalBytes)
        position_start        = 1
        position_end        = InstrB(position_start, request_binaries, get_byte_string(chr(13)))
        boundary            = MidB(request_binaries, position_start, (position_end - position_start))
        boundary_pos        = InstrB(1, request_binaries, boundary)

        Do Until (boundary_pos = InstrB(request_binaries, boundary & get_byte_string("--")))
            If Not(Response.IsClientConnected) Then Response.End

            Dim name, pos_file

            position_start    = (InstrB(InstrB(boundary_pos, request_binaries, get_byte_string("Content-Disposition")), request_binaries, get_byte_string("name=")) + 6)
            position_end    = InstrB(position_start, request_binaries, get_byte_string(chr(34)))

            name            = get_string(MidB(request_binaries, position_start, (position_end - position_start)))
            pos_file        = InstrB(boundary_pos, request_binaries, get_byte_string("filename="))

            If  ((pos_file <> 0) AND (pos_file < InstrB(position_end, request_binaries, boundary))) Then
                upload_object.Add name, Server.CreateObject("Scripting.Dictionary")

                position_start    = (pos_file + 10)
                position_end    = InstrB(position_start, request_binaries, get_byte_string(chr(34)))
                upload_object.item(name).Add "filename", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

                position_start    = (InstrB(position_end, request_binaries, get_byte_string("Content-Type:")) + 14)
                position_end    = InstrB(position_start, request_binaries, get_byte_string(chr(13)))
                upload_object.item(name).Add "content-type", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

                position_start    = (position_end + 4)
                position_end    = InstrB(position_start, request_binaries, boundary) - 2
                upload_object.item(name).Add "size", ((position_end - position_start))
                upload_object.item(name).Add "content", MidB(request_binaries, position_start, (position_end - position_start))
            End If
            boundary_pos    = InstrB(boundary_pos + LenB(boundary), request_binaries, boundary)
        Loop

        Set get_upload_files = upload_object
    End Function

    Function get_byte_string(str)
        Dim cnt
        For cnt = 1 to Len(str)
            get_byte_string    = get_byte_string & chrB(AscB(Mid(str, cnt, 1)))
        Next
    End Function

    Function get_string(str)
        Dim cnt
        For cnt = 1 to LenB(str)
            get_string    = get_string & chr(AscB(MidB(str, cnt, 1)))
        Next
    End Function

    Function extract_filename(filename)
        extract_filename    = Right(filename, Len(filename) - InStrRev(filename, "\", -1, 1))
    End Function

    Function Rename(oldFileName, newFileName)
        dim fso, fileX
       
        On Error Resume Next
       
        set fso = createobject("scripting.filesystemobject")
       
        If fso.FileExists(oldFileName) = True Then
            set fileX = fso.GetFile(oldFileName)
            fileX.Move newFileName
            Rename = True
        Else
            Rename = False
        End if
       
        If Err.number <> 0 then
            Rename = False
        End if
        Response.write filex.name
        set fileX = Nothing
        Set fso = Nothing
       
    End Function
   
    Function GetGuid()
        'Denne funktion returnere en såkaldt GUID ~ unik ID...
        Dim TypeLib, guid_temp
        Set TypeLib = Server.CreateObject("Scriptlet.TypeLib")
       
        'A true GUID contains a unicode null termination, that needs to be stripped to behave like
        ' a string.
        guid_temp = TypeLib.Guid
        GetGuid = Left(guid_temp, Len(guid_temp) - 2)
        Set TypeLib = Nothing
    End Function
   
    Function GetExt(sFile)
    ' by Donald, donald@xbeat.net, 20001010
      Dim iPos
      Dim iPosPrev
      Do
        iPosPrev = iPos
        iPos = InStr(iPos + 1, sFile, ".", vbBinaryCompare)
      Loop While iPos > 0
      If iPosPrev > 0 Then
        ' must be right of last backslash
        If InStr(iPosPrev + 1, sFile, "\", vbBinaryCompare) = 0 Then
          GetExt = Mid(sFile, iPosPrev + 1)
        End If
      End If
     
    End Function
%>
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