webForumDet fria alternativet

Tempbild/mapp

10 svar · 683 visningar · startad av Travoni

TravoniMedlem sedan okt. 20041 556 inlägg
#1

Jag använder AspSmartUpload och AspSmartImage för att ladda upp bilder, men jag skulle behöva ett system för att ladda upp bilder i en temp-mapp/temp-namn tills jag är nöjd med bilden. När jag är det så vill jag spara ned den med ett speciellt namn och att temp-mappen raderas.
Men problemet är att om någon annan laddar upp bilder samtidigt och temp-mappen töms så försvinner ju även den personens temp-bilder.

Tips emottages varmt.

paddanMedlem sedan dec. 2002299 inlägg
#2

Nej, du laddar först upp den i en temp mapp, och varför ska du ta bort temp mappen, du behöver jo bara ta bort den filen som du har som temp fil.
Ladda upp i temp mappen,
Hämta den med AspSmartImage,
Spara den till den riktiga filen,
Ta bort temp filen

TravoniMedlem sedan okt. 20041 556 inlägg
#3

Ok, men hur skall jag döpa tempbilden då?
Så att det blir unik lixom.

paddanMedlem sedan dec. 2002299 inlägg
#4

Här har du en slump funktion som gör så att du får unika namn på varje bild.

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

strFil = file.FileName
strNow=strRandom(5)
filNamn=strNow & "_" & lcase(strFil)	
file.SaveAs("/bildarkiv/"&filNamn)
bwcMikkeMedlem sedan okt. 2004159 inlägg
#5

Kan man inte använda sig av SessionID på något vis? Den är ju unik men det är möjligt att det blir för lång sträng om man inte trunkerar den, men då försvinner ju det unika.

CompusaMedlem sedan jan. 20023 327 inlägg
#6

Datum + klockslag i formatet YYMMDD_HHMMSS kanske?
Exempelvis: 20060906_164622.jpg

TravoniMedlem sedan okt. 20041 556 inlägg
#7

Visst, sessionid går ju bra att använda.
Men låt säga att tempbilden döps till 312734293.jpg med sessionsid:t sedan så surfar personen bort ifrån webbplatsen, då vill ju jag ta bort bilden/erna som inte sparats till "riktiga bildnamn".

Och det är här kruxet kommer in.
Datum/Klockslag går ju också att använda men det är ju inte heller 100%, två bilder kan ju få samma namn under unika förhållanden.

@ndersMedlem sedan juni 200032 969 inlägg
#8

Session_OnEnd i global.asa?
Spara i tempmappar och ta bort alla bilder äldre än x?

TravoniMedlem sedan okt. 20041 556 inlägg
#9

Har hört att Session_OnEnd suger. Att den körs lite när den vill.
Det får bli tempmappar helt enkelt.

@ndersMedlem sedan juni 200032 969 inlägg
#10

Ja, det är väldigt olika hur ofta / hur bra Session_onEnd fungerar. Jag hade också valt alternativ två i mitt inlägg.

mvh

TravoniMedlem sedan okt. 20041 556 inlägg
#11
Sub delete_oldies(folder)
    Dim fso, fldr
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fldr = fso.getFolder(server.MapPath(folder))

    For each file in fldr.files
	    If dateDiff("h",file.dateLastModified, Now) > 12 then fso.DeleteFile File, True
    Next

    Set fldr = Nothing
    Set fso = Nothing
End Sub

delete_oldies "/temp_imgs"
130 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)