Avatar billede dan_n Nybegynder
10. oktober 2004 - 21:42 Der er 10 kommentarer og
1 løsning

tjeck fil navn inden upload, med aspsmartupload

Hi

Jeg har et spørgsmål ang. AspSmartUpload.

Jeg vil gerne tjekke fil-formaterne inden jeg uploader dem, og give en konstruktiv og forstålig fejlmeddelse.

Istedet fx:
spSmartUpload.File error '800403f2'
The file : '02.htm' is not allowed to be uploaded (Error 1010)
/pp-support/admin/execute_imagelib.asp, line 108


Mit spørgsmål går på hvordan dette kan gøre.
Jeg benytter allerede "AllowedFilesList" :
mySmartUpload.AllowedFilesList = "jpeg,jpg,gif,bmp,png"

Men ønsker altså at tjekke inden jeg kontakter Upload Komponenten, fx noget i stil med.

If mySmartUpload.AllowedFilesList = "False" then
response.write "Ikke gyldig fil format"
responsr.end
Else
.. Start upload ..
Avatar billede stoffer Nybegynder
10. oktober 2004 - 21:46 #1
Kan du ikke bruge On Error Resume NExt

også sige.

IF err.number > 0 then
if err.number = 1010 then response.write "Du har ikke tilladelse til at uploade denne fil"


end if
Avatar billede dan_n Nybegynder
10. oktober 2004 - 21:57 #2
Jeg benytter allerede On Error Resume Next:

If Err Then
if Err.number = 1010 then
response.redirect ReturnURL  & "&msg=Du kan kun uploade billeder af typen jpg, gif, bmp elle png"
else
Response.Write("Fejl: " & Err.description)
Response.Write("Fejl: " & Err.number) 
End if
Else
response.redirect ReturnURL  & "&msg=Filerne er nu uploadet"
End If

Fejl: The file : '02.htm' is not allowed to be uploaded (Error 1010) Fejl: -2147220494

og ja her ser det ud at at err.number svarer til -2147220494 og ikke som 1010 som du skrive og som der står i deres dokumentation
Avatar billede thesurfer Nybegynder
10. oktober 2004 - 22:00 #3
Du kan teste via noget der ligner:

set fil = Upload.Files

if InStr("jpeg,jpg,gif,bmp,png", fil.ext) then
' upload ok
else
response.write "fejl"
end if

Det er ikke teste.. men filen der skal uploades, har en egenskab der hedder ".ext" eller ".extension".. den kan man teste med..
Avatar billede dan_n Nybegynder
10. oktober 2004 - 22:00 #4
Jeg har ændret 1010 til -2147220494 og så ser det umildbart ud til at virke. Har du nogen anelse om hvordan det hedder fejl nr. -2147220494 og ikke 1010 ???
Avatar billede thesurfer Nybegynder
10. oktober 2004 - 22:01 #5
Avatar billede dan_n Nybegynder
10. oktober 2004 - 22:16 #6
> the surfer kunne ikke umildbart få det til at virke med InStr, men fandt denne løsning:

For each file In mySmartUpload.Files
If NOT file.IsMissing Then
  If file.FileExt <> "png" OR file.FileExt <> "gif" OR file.FileExt <> "jpg" OR file.FileExt <> "bmp"  then
      response.redirect ReturnURL  & "&msg=Forkert filtype"
  End if
End if
Next
Avatar billede stoffer Nybegynder
13. oktober 2004 - 02:17 #7
husk at bruge lcase(file.FileExt)... tror godt at en file extension kan både være med stort og småt...

I Com objekter laver man ofte fejlkode med HEXA, hvilket nok giver det underlige tal...

Er der ikke også noget der hedder err.ErrorCode ????
Avatar billede stoffer Nybegynder
13. oktober 2004 - 02:18 #8
PS: surfers ville virker med :

if instr("jpeg",fil.ext) or instr("gif",fil.ext) osv...osv... then


end if
Avatar billede thesurfer Nybegynder
13. oktober 2004 - 23:17 #9
Jeg kan ikke lige se, hvorfor denne kode ikke skulle virke:

if InStr("jpeg,jpg,gif,bmp,png", fil.ext) then

Den eneste grund ville være "fil.ext".. dvs, det burde virke, hvis du bruger:

for each fil in mySmartUpload.Files
  if InStr("jpeg,jpg,gif,bmp,png", fil.ext) then
    ' ok
  else
    ' ikke ok
  end if
next


eller måske if not instr.. eller if instr("...", file.ext) = false then
Avatar billede dan_n Nybegynder
28. oktober 2004 - 22:04 #10
Jeg fik ikke nogle af svarne til at virke, så jeg bryge bare aspsmartUpload fejlmeldelse
Avatar billede dan_n Nybegynder
28. oktober 2004 - 22:05 #11
Men takker for jere input
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