webForumDet fria alternativet

Mellanrum i mappnamn!

ASP

7 svar · 379 visningar · startad av paddan

Medlem sedan dec. 2002299 inlägg
Frågan#1

Hej!
Jag undrar om dett går att lösa.
Jag skapar en mapp med denna koden:

mappNamn = Request.Form("mapp")

	Set Skapa = Server.CreateObject("Scripting.FileSystemObject")
	Set Mapp = Skapa.CreateFolder(Server.MapPath("/blog/fotoalbum/" & mappNamn))
	
		Response.Redirect("default.asp?page=4&subfold=1&mappen="& mappnamn &"")

och det går jo bra att skapa en mapp som heter tex martin sköld (obervera att jag har mellanrum)
Men sedan när jag ska ladda upp en bild med hjälp av aspupload och aspjpeg så går det inte för den koden verkar inte ta mappnamn med mellanrum.
Här är koden:

function strRandom(antal)
	random = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,Y,V,W,Z," & _
				 "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,y,v,w,z," & _
				 "1,2,3,4,5,6,7,8,9,0," & _
				 "_,-"
	
	arrRandomThis = split(random,",")
	Randomize Timer
	for i = 1 to int(antal)
		Randomize Timer
		intStart = int(Rnd*((ubound(arrRandomThis)-1)/10)*10) + 1
		makeStr = makeStr & arrRandomThis(intStart)
	next
	strRandom = makeStr
end function

	Set Upload = Server.CreateObject("Persits.Upload")
	Upload.Save server.MapPath(".")
	Set Jpeg = Server.CreateObject("Persits.Jpeg")
	For Each File in Upload.Files   
	strNow = strRandom(5)
	if round(file.size/2500) > 2500 then
		file.delete
		response.write "Filen får inte vara större än 2,5mb"
		response.End()
	end if
	if instr("jpg|gif",lcase(right(File.FileName,3))) = 0 then 
			file.delete
			response.write "Bara jpg eller gif."
			response.End()
	end if
		Jpeg.Open File.Path
			
		
		
		img_width = 600
		
		Jpeg.PreserveAspectRatio = True

		' Reizisa bilden
		Jpeg.Width = img_width
		
								jpeg.Canvas.Font.Color = &Hffffff
						jpeg.Canvas.Font.Family = "Arial"
						jpeg.Canvas.Font.Bold = False
						jpeg.Canvas.Font.Size =12
						jpeg.Canvas.Print 10,jpeg.Height-17, "© 2005 Martin Sköld" & strNamn
						
						
						
		
		Jpeg.Sharpen 1, 105
		Jpeg.quality = 100
					
						
		filNamn = strNow & "_" & lcase(File.FileName)		
		strSave = "/blog/fotoalbum/" & upload.Form("mapp") & "/" & filNamn
		

						
		Jpeg.Save server.MapPath(strSave)
		
		
			thum_width = 130
				
				
		
		thumb_strSave = "/blog/fotoalbum/" & upload.Form("mapp") & "/small/" & filNamn
		
		Jpeg.PreserveAspectRatio = True

		' Reizisa bilden
		Jpeg.Width = thum_width
		
		
		Jpeg.Sharpen 1, 105
		Jpeg.quality = 100
								
		Jpeg.Save server.MapPath(thumb_strSave)
		
		
		File.delete
	next
	Response.Redirect("default.asp?page=4")
	end if
	end if

Har ni några förslag hur man kan lösa detta?
Mvh Martin

Medlem sedan maj 200591 inlägg
#2

Det går itne att ha mellanslag i en url. Du får ersätta mellanslaget med + eller %20 eller nåt sånt. Kör med Server.URLEncode så borde det lösa sig.
Alltså typ
Response.Redirect("default.asp?page=4&subfold=1&mappen="& Server.URLEncode(mappnamn) &"")

Medlem sedan dec. 2002299 inlägg
#3

Men ..problemet är jo inte när jag skickas tillbaka utan det är när jag ska spara bilden på servern...
Denna koden verkar vara problem med:
strSave = "/blog/fotoalbum/" & upload.Form("mapp") & "/" & filNamn

Medlem sedan nov. 20017 144 inlägg
#4

Kan du inte köra url encode på den då?

strSave = Server.URLEncode("/blog/fotoalbum/" & upload.Form("mapp") & "/" & filNamn)
Medlem sedan dec. 2002299 inlägg
#5

Det fungerade tyvärr inte heller...!
NÅgra andra förslag??

Medlem sedan juni 2004533 inlägg
#6

Vad menar du med att det "inte går"? Får du något felmeddelande?

Medlem sedan juni 200032 967 inlägg
#7

Man borde nog få ett felmeddelande (eller konstigt resultat) om man kör urlencode på hela sökvägen. Prova att köra server.urlencode på endast mappnamnet i fråga.

mvh

Medlem sedan dec. 2002299 inlägg
#8

oki::"!''¨
Problemmet va att bilden sparas i en annan mapp servern och i ett konstigt format...
Ska prova det sist nämda.

308 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
158 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
165 ms — ändringar (db)