webForumDet fria alternativet

AspSmartUpload-förhindra uppladdning av vissa filer

ASP

4 svar · 210 visningar · startad av soffan76

Medlem sedan maj 2001684 inlägg
Frågan#1

Hej alla!

Jag pysslar med AspSmartUpload och fått det att funka bra tills nu.
Jag vill förhindra att visa filer ska kunna laddas upp nämligen exe, bat och asp.
Men nu går det inte att ladda upp nån fil alls.
Jag måste ha skrivit galet i koden. Kan nån hjälpa mig hur jag ska skriva?

'  Object creation
'  ***************
   Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
   
 ' Allow all files except exe, bat and asp
 ' ***************************************
   mySmartUpload.DeniedFilesList = "exe,bat,asp"
   
   	If  mySmartUpload.DeniedFilesList = "exe,bat,asp" Then
   	Response.write "Sorry, du får inte ladda upp denna fil.<br> 
Inga exe, bat eller asp-filer är tillåtna.<br><br><a href='javascript:history.go(-1);'>&laquo; Tillbaka</a>"
	Else

'  Upload
'  ******
   mySmartUpload.Upload
Medlem sedan juni 200032 967 inlägg
#2

Läs vad du skrivit:

mySmartUpload.DeniedFilesList = "exe,bat,asp"
If  mySmartUpload.DeniedFilesList = "exe,bat,asp" Then

Det är likvärdigt med:

var1 = 1
if var1 = 1 then

Använd propertyn FileExt för att avgöra vad filen har för ändelse.

Mvh,

Medlem sedan maj 2001684 inlägg
#3

Oj, det var ju lite korkat.
Jag testade:
If mySmartUpload.FileExt = "exe,bat,asp" Then

...fast då fick jag:
Object doesn't support this property or method: 'FileExt'

De har en lösning man kan använda har jag upptäckt men jag får inte heller den att fungera. Endast tillåtna filer laddas visserligen upp men det blir inget snyggt felmeddelande om man försöker ladda upp en otillåten fil...

Hur ska jag göra?

Så här ser den koden ut:

'  Trap errors
'  ***********
   If Err Then
      Response.Write("<b>Wrong selection : </b>" & Err.description)
   Else
   '  Display the number of files uploaded
   '  ************************************
      Response.Write(intCount & " file(s) uploaded.")
   End If
%>
Medlem sedan juni 200032 967 inlägg
#4

Nu är jag visserligen ingen stjärna på AspSmartUpload, men FileExt-propertyn tillhör objektet file. Så här någonting, kanske:

For each objFile in mySmartUpload
     Response.write objFile.Filext
Next

AspSmartupload tillåter dock inte att du laddar upp filer av fel typ, så du kommer få felmeddelande. Kanske ska du fånga det felmeddelandet med on error resume next och presentera ett eget?

mvh

Medlem sedan maj 2001684 inlägg
#5

Det funkade när jag lade till "on error resume next" längst upp. :)
Tack för din hjälp!

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)