webForumDet fria alternativet

aspsmartupload

9 svar · 238 visningar · startad av archangel

archangelMedlem sedan nov. 200212 inlägg
#1

jag lyckas itne få mitt upload script att hindra uppladdning av vissa filer... beroende på filändelse och storlek

storlekne förhindrar den...
tex om filen är större än 2mb får jag error medd out of memory

men om filändelsen inte stämmer så tankar den upp ivf

den returnerar också antalet uppladdade filer som 0 även om den laddat upp flera st....

<%
On Error Resume Next

Set myUpload = Server.CreateObject
"aspSmartUpload.SmartUpload")
myUpload.upload

myUpload.TotalMaxFileSize = 2000000
myUpload.AllowedFilesList = "gif,jpg,jpeg,avi,mpg,mpeg"
myUpload.DeniedFilesList = "exe,bat,asp,html"

Set ObjFolder = CreateObject("Scripting.FileSystemObject")

strPath1=Server.MapPath("/db/SeafunTeam/Foton/" & ID)
strPath2=Server.MapPath("/db/SeafunTeam/Filmklipp/" &ID)

If not ObjFolder.FolderExists(strpath2) then
ObjFolder.CreateFolder strPath2
end if

f not ObjFolder.FolderExists(strpath1) then
ObjFolder.CreateFolder strPath1
end if

I=0
For each file In myUpload.Files

If not file.IsMissing Then
If I < 3 then
Count1 = file.SaveAs(strPath1 & "\" & file.FileName)
Else
Count2 = file.SaveAs(strPath2 & "\" & file.FileName)
End if
End If
I = I + 1
ext

IntCount=Count1+Count2

If Err Then
Response.Write("<b>Error: </b>" & Err.description)
Else
Response.Write(intCount & " file(s) uploaded.")
End If

response.redirect("adminteam.asp")

%>

Jesper TMedlem sedan nov. 20017 144 inlägg
#2

Använd [kod]-taggarna!
Ta bort on error resume next till en början så kan du se om sidan genererar något felmeddelande.

archangelMedlem sedan nov. 200212 inlägg
#3

nepp kör utan on error resume next och den laddar upp precis vad som helst...

archangelMedlem sedan nov. 200212 inlägg
#4

<%
 		

		Set myUpload = Server.CreateObject ("aspSmartUpload.SmartUpload") 
		myUpload.upload 
		
		myUpload.TotalMaxFileSize = 2000000
		myUpload.AllowedFilesList = "gif,jpg,jpeg,avi,mpg,mpeg"
		myUpload.DeniedFilesList = "exe,bat,asp,html"
		
		'Lägg till i databas
		StrConnect="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\db\butiksinfo.mdb")
		set objrs=Server.CreateObject("ADODB.recordset") 
		objrs.open "team", StrConnect,adopenstatic,adlockoptimistic,adcmtable
		objrs.addnew
		objrs("Förnamn")=myUpload.form("förnamn")
		objrs("Efternamn")=myUpload.Form("efternamn")
		objrs("Född")=myUpload.Form("född")
		objrs("Stad")=myUpload.Form("stad")
		objrs("Åkning")=myUpload.Form("åkning")
		objrs("Egnaord")=myUpload.Form("egnaord")
		objrs("Email")=myUpload.Form("email")
		objrs("Login")=myUpload.Form("login")
		objrs("Lösenord")=myUpload.Form("lösenord")
		
		objrs.update
		ObjRS.Movelast   '  För att få den att plocka det senaste IDnmumret
		
		ID=ObjRS("ID")
		ObjRS.close
		set objRS=nothing
		
		Set ObjFolder = CreateObject("Scripting.FileSystemObject") 
	
		strPath1=Server.MapPath("/db/SeafunTeam/Foton/" & ID) 
		strPath2=Server.MapPath("/db/SeafunTeam/Filmklipp/" &ID) 

		If not ObjFolder.FolderExists(strpath2) then 
			ObjFolder.CreateFolder strPath2 
		end if
		
		If not ObjFolder.FolderExists(strpath1) then 
			ObjFolder.CreateFolder strPath1
		end if
			
		I=0
		  For each file In myUpload.Files
		
		      If not file.IsMissing Then
					
				If I < 3 then
		        			 Count1 = file.SaveAs(strPath1 & "\" & file.FileName)
				Else
		        			 Count2 = file.SaveAs(strPath2 & "\" & file.FileName)
				End If
		      End If
			I = I + 1
		  Next
	
	IntCount=Count1+Count2
	
	 If Err Then
   		   Response.Write("<b>Error: </b>" & Err.description)
  	 Else
    	  Response.Write(intCount & " file(s) uploaded.")
   End If

	
		'response.redirect("adminteam.asp")

%>
PellefantMedlem sedan maj 20023 372 inlägg
#5

Testa dessa: :)

mySmartUpload.TotalMaxFileSize = 200000

mySmartUpload.AllowedFilesList = "htm,txt"

*Håller tummarna*

archangelMedlem sedan nov. 200212 inlägg
#6

antar du menar jag ska köra

myUpload.TotalMaxFileSize = 200000

myUpload.AllowedFilesList = "htm,txt"

eftersom mitt upload objekt heter myUpload...

tyvärr så laddar dne fortfarande upp precis allt... tex .asp och .exe

Jesper TMedlem sedan nov. 20017 144 inlägg
#7

Appropå inget:
Tänk på säkerheten när du skriver ut databaskopplingarna:
\db\butiksinfo.mdb

archangelMedlem sedan nov. 200212 inlägg
#8

det har du kasnke rätt i....

lyckas fortfarande inte få mitt script att hindra uppladdning av filer med fel ändelse inte heller att skriva ut hur många filer som laddats upp... vad är fel?

så vitt jag kan se har jag följt exempel kod till punkt och pricka

solbulleMedlem sedan mars 20015 287 inlägg
#9

Iofs tror jag kanske att dessa, DeniedFilesList samt AllowedFilesList, kan "ta ut" varandra. Kanske bäst att bestämma sig för antingen det ena eller det andra.
Mao vad man får ladda upp eller vad man inte får ladda upp.
Men hur som helst måste du väl flytta om lite i din kod:

Set myUpload = Server.CreateObject ("aspSmartUpload.SmartUpload") 

		
		myUpload.TotalMaxFileSize = 2000000
		myUpload.AllowedFilesList = "gif,jpg,jpeg,avi,mpg,mpeg"
		'myUpload.DeniedFilesList = "exe,bat,asp,html"
		myUpload.upload
archangelMedlem sedan nov. 200212 inlägg
#10

självklart...

självklart så msåte ju raden... myUpload.upload

komma efter raderna där olika filer förbjuds...

nu när jag justerat det så funkar det korrekt.. error medd fås om man laddar upp ngn av de förbjudna filerna....

men...

den rapporterar fortfarande inte hur många filer som laddats upp fpr fortfarande 0 som resultat... varför?

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)