Avatar billede mindtwister Nybegynder
14. februar 2001 - 00:06 Der er 1 løsning

Kopiere filer

Hej alle - jeg har et webcam på min side og ønsker at tilføje muligheden for at ligge et billede tilside...
altså - jeg har en fil på serveren der hedder billede.jpg og ved et klik på et link (til en asp fil på serveren - sjovt nok...) skal filen kopieres til \"history\\billede\" & variabel & \".jpg\" - eller noget lignende - jeg tænkte på at åbne billedet som en txt fil og så gemme det som en txt fil - men er det ikke for langsomt?

- Hvis i vil have flere point eller vil have udspecificeret noget så bare sig til - vi finder nok ud af noget...
Avatar billede munck Nybegynder
14. februar 2001 - 03:51 #1
Du kan bruge SA-fileup
den originale er skrevet af Dennis Knappe
koden kan kopieres til en asp-fil med navnet upload.asp
-->
<%
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"../db/db1.mdb\")

intID = Request.QueryString(\"pid\")

If Request.QueryString(\"mode\") = \"show\" Then
    \' Denne kode fremviser den ønskede fil
    strSQL = \"SELECT Image_Type, Image_Data FROM Images WHERE (pid = \" & intID & \");\"
    Set rs = myConn.Execute(strSQL)
    If Not rs.EOF Then
        Response.ContentType = rs(\"Image_Type\")
        Response.BinaryWrite rs(\"Image_Data\")
    End If
    \' Her frigives Connection objektet fra hukommelsen
    myConn.Close
    Set myConn = Nothing
    Response.End
ElseIf intID > 0 Then
    strMsg = \"<p>Det valgte billede er:<br><img src=upload.asp?mode=show&pid=\"& intID &\"></p>\"
End If



\' Her skabes FileUp objektet
Set objUpl = Server.CreateObject(\"SoftArtisans.FileUp\")

\' Her sættes en begrænsning på 300 kb.
If objUpl.Form(\"upload\") <> \"\" Then
    \' Hvis formen er blevet submitted
    strFilename = objUpl.Form(\"f1\").UserFilename
    strFileExt = Mid(strFilename, InstrRev(strFilename, \".\") + 1)
    If objUpl.Form(\"f1\").IsEmpty Then
        strMsg = \"<p>Du skal vælge en fil</p>\"
    ElseIf LCase(strFileExt) <> \"gif\" AND LCase(strFileExt) <> \"jpg\" AND LCase(strFileExt) <> \"bmp\" Then
        strMsg = \"<p>Du skal vælge enten et GIF, BMP eller JPG fil!</p>\"
    ElseIf objUpl.TotalBytes > 300000 Then
        strMsg = \"<p>Billedet fylder mere end 300 Kb., vælg venligst et andet!</p>\"
    Else
        \' Her gemmes filen i databasen
        Set rsBlob = Server.CreateObject(\"ADODB.RecordSet\")
        rsBlob.Open \"Images\", myConn, 1, 3
        rsBlob.AddNew
        objUpl.Form(\"f1\").SaveAsBlob rsBlob.Fields(\"Image_Data\")
        rsBlob.Fields(\"Image_Type\") = objUpl.Form(\"f1\").ContentType
        rsBlob.Fields(\"Image_Name\") = Mid(strFilename, InstrRev(strFilename, \"\\\") + 1)
        rsBlob.Update
        intID = rsBlob(\"pid\")
        rsBlob.Close
        \' Her frigives vores recordset fra hukommelsen
        Set rsBlob = Nothing       
        \' Tekst der viser hvad filnavnet er og hvor meget filen fylder
        strMsg = \"<p>Filen <em>\" & strFilename & \"</em> er uploaded til databasen, og fylder <em>\" & objUpl.TotalBytes & \"</em> bytes.</p>\" &_
            \"<p><img src=upload.asp?mode=show&pid=\"& intID &\"></p>\"
    End If
End If

\' Her frigives FileUp objektet fra hukommelsen
Set objUpl = Nothing
%><html><head>
<title>Upload til Access</title>
</head><body>
<%=strMsg%>
<form method=\"POST\" enctype=\"multipart/form-data\" action=\"upload.asp\">
<p><input type=\"file\" size=\"20\" name=\"f1\"></p>
<p><input type=\"submit\" name=\"upload\" value=\"Upload\"></p>
<p>Bemærk: I dette eksempel er der sat en maks. begrænsning på 10 kb.</p>
</form>
<%
\' Her skrives der link til de eksisterende objekter i databasen
strSQL = \"SELECT pid, Image_Name FROM Images ORDER BY Image_Name\"
Set rs = myConn.Execute(strSQL)
If Not rs.EOF Then
    Response.Write \"Objekter i databasen: <ul type=square>\"
    Do While Not rs.EOF
        Response.Write \"<li><a href=upload.asp?pid=\" & rs(\"pid\") & \">\" & rs(\"Image_Name\") & \"</a></li>\"
        rs.MoveNext
    Loop
    Response.Write \"</ul>\"
End If
\' Her frigives Connection objektet fra hukommelsen
myConn.Close
Set myConn = Nothing
%>
</body></html>
<--

Dertil kommer en database(Images) med fire felter, hvis du ikke har en, du kan tilføje dem i.
Felter:
ImageID - autonummerering
Image_Type - tekst
Image_Name - tekst
Image_Data - OLE-objekt

Det var det
Mvh. Munck
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