Avatar billede zeusdk Nybegynder
24. december 2002 - 15:40 Der er 6 kommentarer og
1 løsning

ASPUpload - sammenlign filstørrelser

Hej

Det er tankten at følgende script, at det skal bruges til at konstatere om brugeren har uploadet en fil, som allerede er blevet uploadet til serveren.

Konkret vil det sige, at scriptet sammenligner en submittet fils størrelse (kb) med størrelserne på de filer, som ligger på serveren. Hvis scriptet finder ud af, at størrelsen (kb) af det submittede billede er lig med størrelsen på en fil, der allerede ligger på serveren, skal den sige ”hov stop” - eller rettere det burdte den sige.

Problemet med scriptet er, at det konstant siger, at filen "findes allerede, men den har ikke samme størrelse som den nye fil."... og det er ikke sandt, fordi filen, som der uploades, allerede ligger på serveren.

Kan du finde fejlen?

(Jeg bruger ASPUpload og overwrite er lig med "false".)
__________________________________________________

' find det nye billedes str.
NewFileSize = Upload.TotalBytes

' kald funktion der checker om filen findes

ret = checkfile(upload.file, newfilesize)

' udsriv resultat
response.write ret

Function checkfile(newfile,newsize)

    response.write "nyt filnavn = " & newfile & "<br>"
    response.write "ny str = " & newfilesize & "<br>"

    set FSO = server.createObject("Scripting.FileSystemObject")
    Filepath = Server.MapPath(newfile)
    if FSO.FileExists(Filepath) Then
        set file = FSO.GetFile(Filepath)
    response.write "gl filnavn = " & filepath & "<br>"
        FileSize = file.Size

    response.write "gl str = " & filesize & "<br>"

        if FileSize = NewFileSize then
            checkfile=filepath & " findes allerede, den er " & filesize & " bytes"
        else
            checkfile=filepath & " findes allerede, men den har ikke samme størrelse som den nye fil."
        end if
    else
        checkfile = "Filen findes ikke"

    end if
end function
%>
Avatar billede zeusdk Nybegynder
24. december 2002 - 15:44 #1
tankten = tanken
billede = fil
Avatar billede oasen Nybegynder
24. december 2002 - 16:11 #2
Overwrite skal vel sættes til true, hvis den eksisterende fil skal erstattes, ik'?
Avatar billede zeusdk Nybegynder
24. december 2002 - 16:37 #3
Jeg har ikke sat den til true, fordi der kan være brugere, som submitter en fil, som har det samme filnavn, men som ikke er den samme fil.
Avatar billede oasen Nybegynder
25. december 2002 - 15:46 #4
Kan du så ikke omdøbe filen til brugerens navn eller id-nummer?
Avatar billede zeusdk Nybegynder
25. december 2002 - 15:50 #5
Det kan heller ikke lade sig gøre, at brugerne uploader filer, som andre brugere kan anvende.
Avatar billede oasen Nybegynder
27. december 2002 - 02:47 #6
Brugerene kan jo altid se eller hente en fil, hvis de kender stien - ved mindre du kalder den ASP, PHP eller lign.

Men kan du så ikke omdøbe den til brugerens id-nummer gange et eller andet tal, så det bliver sværere at gætte filnavnet?

F.eks.

BrugerID = 1045

Filnavn = BrugerID * 654 ' (1045 * 654 = 683430)
Avatar billede zeusdk Nybegynder
17. februar 2003 - 20:37 #7
Jeg løste det selv :-)
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