webForumDet fria alternativet

asp smart upoad problem

8 svar · 262 visningar · startad av archangel

archangelMedlem sedan nov. 200212 inlägg
#1

hur gör jag ett script som man kan ladda upp filer med

6 st filer... 3 st till en mapp o 3 till en annan...

Set ObjFolder = CreateObject("Scripting.FileSystemObject")

strPath=Server.MapPath("/db/testmapp")
If not ObjFolder.FolderExists(strpath) then
ObjFolder.CreateFolder strPath
end if

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

myUpload.Save(strPath)

denna kod spar ju alla filer från formuläret till strPath

men ajg vill att dom 3 första filerna i foruläret ska till en mapp och dom 3 andra till en annan...

lyckas inte klura ut hur man delar upp det...

ok... 2 st formulär med varsin submit knapp och 2 st scripts som spar på olika ställen ... men den lösningen känns inte så bra... speciellt då det inte skulle funka logisk med 2 submitknappar på sidan...

OveRRidEMedlem sedan feb. 200112 078 inlägg
#2

Skall det inte vara en loop eller for each-sats nånstans där i mitten också?

archangelMedlem sedan nov. 200212 inlägg
#3

ingen aning... koden som den är nu sparar alla filerna från formuläret...

men för att spara dom på olika ställen bär det jku krävas ngn form av loop som loopar igenom domme jag vet itne hur...

solbulleMedlem sedan mars 20015 287 inlägg
#4

Borde fungera tycker jag:

Set ObjFolder = CreateObject("Scripting.FileSystemObject") 

strPath=Server.MapPath("/db/testmapp") 
If not ObjFolder.FolderExists(strpath) then 
ObjFolder.CreateFolder strPath 
end if 

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

 
   For each file In myUpload.Files
	I = 0
      	If not file.IsMissing Then
			If I < 3 then
        			file.SaveAs(strPath & "/" & file.FileName)
			Else
        			file.SaveAs(strPath & "/ny_mapp/" file.FileName)
			End If
      	End If
	I = I + 1
   Next

Finns väl smidigare sätt o skriva, typ med mod o prylar för den som behärskar det...

archangelMedlem sedan nov. 200212 inlägg
#5

hmm det där ser ut ungefär vad jag hade väntat mig men absolut inte kunde få till själv...

nu får jag dockl error

<%
Set ObjFolder = CreateObject("Scripting.FileSystemObject")

strPath1=Server.MapPath("/db/testmapp")
strPath2=Server.MapPath("/db/testmapp2")

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

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

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

For each file In myUpload.Files
I = 0
If not file.IsMissing Then
If I < 3 then
file.SaveAs(strPath1 & "/" & file.FileName)
Else
file.SaveAs(strPath2 & "/" & file.FileName)
End If
End If
I = I + 1
Next

%>

Server.MapPath() error 'ASP 0172 : 80004005'

Invalid Path

/seafunny/upload.asp, line 32

The Path parameter for the MapPath method must be a virtual path. A physical path was used.

archangelMedlem sedan nov. 200212 inlägg
#6

ganska enkelt fel var de tju... blandar ju virtuell o fysisk sökväg.... ska ju vara \istället för /

archangelMedlem sedan nov. 200212 inlägg
#7

men koden funkar iaf inte... alla filerna hamnar i strpath1

<%
Set ObjFolder = CreateObject("Scripting.FileSystemObject")

strPath1=Server.MapPath("/db/testmapp")
strPath2=Server.MapPath("/db/testmapp2")

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

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

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

For each file In myUpload.Files
I = 0
If not file.IsMissing Then
I = I + 1
If I < 3 then
file.SaveAs(strPath1 & "\" & file.FileName)
Else
file.SaveAs(strPath2 & "\" & file.FileName)
End If
End If
I = I + 1
Next

%>

testade att lägga till en i=i+1 i if satsen oxå utan resultat...

solbulleMedlem sedan mars 20015 287 inlägg
#8

Ah, pappskallen = jag!

Flytta upp I = 0 innan For each satsen...

Vad trött jag blir på mig själv ibland...

<% 
Set ObjFolder = CreateObject("Scripting.FileSystemObject") 

strPath1=Server.MapPath("/db/testmapp") 
strPath2=Server.MapPath("/db/testmapp2") 

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

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

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

I = 0
	For each file In myUpload.Files 
 
		If not file.IsMissing Then 
			If I < 3 then 
				file.SaveAs(strPath1 & "\" & file.FileName) 
			Else 
				file.SaveAs(strPath2 & "\" & file.FileName) 
			End If 
		End If

		I = I + 1 
	Next 
%>
archangelMedlem sedan nov. 200212 inlägg
#9

lungt..

hehe lungt.. löste det själv ganska snabbt...

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