Avatar billede tvb Nybegynder
05. november 2002 - 10:34 Der er 5 kommentarer og
1 løsning

billed-upload

Jeg har et billedeupload, hvor jeg benytter aspSmartUpload, men jeg er lidt usikker på hvordan det virker...
Hvordan kan jeg sikre mig at alle mine billeder har forskellige navne i den mappe jeg uploader til.....? (Fx ville jeg gerne omdøbe dem til "id-nr.jpg", kan jeg det?)

Koden:
jeps = myUpload.save(server.MapPath("klassebilleder"))
billede = myUpload.Files("billede").FileName

if korriger = 1 then
SQLInsert = "Update _klasse set ""
SQLInsert = SQLInsert & billede = '" + billede + "' "
SQLInsert = SQLInsert & " Where id = "&id
else
SQLInsert = "Insert into _klasse (billede) values( '" + billede+ "')"
end if
   
oConn.Execute (SQLInsert)
Avatar billede rasmuslund Nybegynder
05. november 2002 - 10:56 #1
Jeg har haft samme problem på et tidspunkt, jeg gemt dog ikke i en database men på serveren i en mappe. Men måske du kan bruge noget af det:

Det første jeg gjorde var at tjekke om filen existerede i forvejen, hvis den gør så gem den i en midlertidig mappe:

<%      For each file In mySmartUpload.Files
              toUpload = file.FileName
            path = server.mappath(".") &"\billeder\" & toUpload
            set fs = Server.CreateObject("Scripting.FileSystemObject")
            if fs.fileExists(path) then
                ' Filen eksisterer gem billedet paa serveren som en temp fil.
                tempPath = "billeder/tmp/"
                intCount = mySmartUpload.Save(LCase(server.mappath(tempPath))) %>
                <form action="uploadg.as?&overwrite=true" method="post">
                <input type="Hidden" name="tempfile" value="<%= toUpload %>">
                <table border="0">
                    <tr><td class="red">Der findes allerede en fil med dette navn p&aring; serveren.</td></tr>
                    <tr><td>Angiv et nyt fil navn, vil du overskrive det eksisterende s&aring; tryk p&aring; "gem billedet".</td></tr>
                    <tr><td><input type="text" name="fileupload" size="40" value="<%= toUpload %>">&nbsp;<input type="submit" name="Action" value="Gem billedet">&nbsp;<input type="button" name="Action" value="Fortryd" onclick="document.location.href='vis.arkiv.asp?<%= Request.ServerVariables("QUERY_STRING") %>'"></td></tr>
                </table>
                </form>
<%            else
                ' sample with a physical path
                intCount = mySmartUpload.Save(LCase(server.mapPath(uploadPath)))
                  '    Trap errors
                If Err Then
                    Response.Write "<h3>Der opstod en fejl under upload!</h3>"
                    Response.Write "<h3>" & Err.description & "</h3>"
                Else
                    Response.Write "<h3>Upload ok!</h3>"
                End If
               
            end if
      Next    %>

Hvis nu filen fandt så fik brugerne en ny boks frem hvor de kunne enten ændre filens navn eller give den en ny. Når de sendte denne form flyttede jeg den midlertidig fil til den rigtige mappe på serveren.

<%
        tempfile = request.form("tempfile")
        newName = request.form("fileupload")
        path = "../../billeder/"
        tempPath= "../../billeder/tmp/"
        set fs = Server.CreateObject("Scripting.FileSystemObject")
        if fs.fileExists(Server.mappath(path & newName)) then
            fs.deleteFile(Server.mappath(path & newName))
        end if
        fs.MoveFile Server.mappath(tempPath & tempfile),Server.mappath(path & newName)
%>

Håber det kan hjælpe lidt.

Rasmus c",)
Avatar billede rasmuslund Nybegynder
05. november 2002 - 10:57 #2
Glemte lige ...

Når du har flyttet filen kan du jo læse den og gemme den i DB.

Rasmus c",)
Avatar billede tvb Nybegynder
05. november 2002 - 11:09 #3
1. Jeg gemmer også i en mappe og ikke i databasen....
2. Jeg vil bare rename filen inden jeg putter den i mappen, jeg behøver ikke checke om der er en med samme navn først, da mit idnr jo er unikt.... Så selv om din metode kan bruges Rasmus, vil jeg hellere løse det på den anden facon. Nogen der kan hjælpe?
Avatar billede rasmuslund Nybegynder
05. november 2002 - 11:19 #4
Problemet er at du ikke kan omdøbe filerne før end at de er gemt... du kan heller ikke omdøbe dem i forbindelse med at du uploader dem med aspSmartUpload. Den eneste måde jeg er stødt på er at gemme dem i en midlertidig mappe og derefter flytte dem med FileSystemObject's MoveFile metode da du kan omdøbe den på den måde. Jeg har undersøgt det grundigt (syntes jeg selv :-D) men er ikke stødt på nogen bedre metode. Du behøves jo ikke at tjekke om den findes - upload, flyt og slet midlertidig - det burde virke.

Rasmus c".)
Avatar billede tvb Nybegynder
05. november 2002 - 15:14 #5
Jeg kigger på det i morgen Rasmus.... men du desværre nok ret i at det er måden at gøre det på.... ØV!
Avatar billede tvb Nybegynder
14. november 2002 - 13:33 #6
Jeg endte med at gøre det på en måde hvor jeg lavede en mappe til hver idnr i stedet, men din metode var jo også god Rasmus, så tak for hjælpen!!!
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