daPhilMedlem sedan apr. 2001151 inlägg
Jag har ett script som zippar ihop filer åt folk för att sedan slussa dem vidare till en "hämtningssida".. Om det är säg en 100mb fil som zippas tar det ju typ 20 sekunder och folk kanske inte hajar riktigt vad som händer.. Hur kan jag göra så att en "var gor dröj" text kommer upp medans filen zippas?
mvh
Philip
icaaqMedlem sedan okt. 20004 910 inlägg
[red]
Response.Write "var god dröj"
[/red]
....skämt ossido .....antingen så gör du en allert med JavaScript eller så skriver du ovanstående på "hämtningssidan.....
eller har jag missuppfattat dig totalt :q
daPhilMedlem sedan apr. 2001151 inlägg
Jag vill gärna ge någon extra sekund så att FAT m.m. hinner uppdateras och filen kopieras, kan man sätta en timer eller något så att scriptet väntar en halv sekund innan nästa script anropas?
daPhilMedlem sedan apr. 2001151 inlägg
Såhär ser min "zipper.asp" ut, det är scriptet som utför zippningen.. Den anropas från ett formulär på en annan sida, hur kan jag göra så en "paustext" kommer upp medans filen zippas.. Så som det ser ut nu hoppar den bara över min Response.Write "Preparing the picture!" och direkt på "present_zip.asp" dokumentet som följer efter zipper.. Hjälp?
<!-- #include file="security.asp" -->
<%
Response.Write "Preparing the picture!"
Function ZipExt(file)
extAry = Split(file, ".")
file = Replace(file, extAry(Ubound(extAry)), "zip")
ZipExt = file
End Function
SourcePathArray = Split(Request.Form("pic"), "/")
sourceFile = SourcePathArray(Ubound(SourcePathArray))
sourceFolder = SourcePathArray(Ubound(SourcePathArray) - 1)
'zipFilename = Hour(Now) & Minute(Now) & Second(Now) & "_" & ZipExt(sourceFile)
sInFiles = Server.MapPath("bilder") & "\" & sourceFolder & "\" & sourceFile
zipFilename = Hour(Now) & Minute(Now) & Second(Now) & "_" & ZipExt(sourceFile)
sZipPath = Server.MapPath("temp") & "\" & zipFilename
Set ZIP = Server.CreateObject("Pnvzip.ZipFunctions")
resp = ZIP.ZipFile(sInFiles,sZipPath)
Set ZIP = Nothing
Response.Redirect "present_zip.asp?file=" & zipFilename
%>
LarsGMedlem sedan dec. 200012 465 inlägg
response.buffer = true
Response.Write "Preparing the picture!"
response.flush
daPhilMedlem sedan apr. 2001151 inlägg
Får felmeddelande:
--
Response object error 'ASP 0156 : 80004005'
Header Error
sökväg/zipper.asp, line 39
The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.
--
Line 39: Response.Redirect "present_zip.asp?file=" & zipFilename
@ndersMedlem sedan juni 200026 914 inlägg
Om du inte använder IIS5 måste du själv sätta på buffringen. Det gör du överst på asp-sidan:
Response.Buffer = true
Mvh,
daPhilMedlem sedan apr. 2001151 inlägg
Tack för hjälpen, men det fungerar fortfarande inte :( Ser ut såhär:
<% Response.Buffer = true %>
<!-- #include file="security.asp" -->
<%
Response.Write "Preparing the picture!"
Response.Flush
Function ZipExt(file)
extAry = Split(file, ".")
file = Replace(file, extAry(Ubound(extAry)), "zip")
ZipExt = file
End Function
SourcePathArray = Split(Request.Form("pic"), "/")
sourceFile = SourcePathArray(Ubound(SourcePathArray))
sourceFolder = SourcePathArray(Ubound(SourcePathArray) - 1)
sInFiles = Server.MapPath("bilder") & "\" & sourceFolder & "\" & sourceFile
zipFilename = Hour(Now) & Minute(Now) & Second(Now) & "_" & ZipExt(sourceFile)
sZipPath = Server.MapPath("temp") & "\" & zipFilename
Set ZIP = Server.CreateObject("Pnvzip.ZipFunctions")
resp = ZIP.ZipFile(sInFiles,sZipPath)
Set ZIP = Nothing
Response.Redirect "present_zip.asp?file=" & zipFilename
%>
LarsGMedlem sedan dec. 200012 465 inlägg
Njae, det går inte att ha både flush och redirect kommer jag på nu när jag ser felmeddelandet.
jag tror nog att du måste göra något med Javascript.
daPhilMedlem sedan apr. 2001151 inlägg
Men går det inte att göra en "paus" mellan texten och scriptet helt enkelt på något sätt? Eller ska jag lägga texten i ett eget dokument som redirectar vidare? Verkar som en omväg tycker jag.. Jag kan ju inte JavaScript heller :(
OveRRidEMedlem sedan feb. 20018 509 inlägg
Det här använder jag, och det funkar alldelse utmärkt. Nu får nog nån flytta tråden tror jag. ;)
I <head>-taggen
<div id="spl" style="position:absolute; top:100; left:300;">
<table border="0" cellpadding="10" cellspacing="1" bgcolor="#000000">
<tr>
<td bgcolor="#ffffff">
<font class="mtop">Meddelande...</font><br>
<br>
<font class="text">
Hämtar relaterad information.
Detta kan ta en liten stund.<br>
<br>
Var god vänta..
</td>
</tr>
</table>
</div>
<script language="JavaScript">
<!--
function hideLayer(){
if(document.layers) document.layers["spl"].visibility= "hide";
else if(document.all) document.all("spl").style.visibility= "hidden";
else if(document.getElementById) document.getElementById("spl").style.visibility= "hidden";
}
//-->
</script>
I din body-tagg
<body onload="hideLayer();">
Let me know.
Jesper TMedlem sedan nov. 20017 058 inlägg
Vad tror du om att göra en animerad gif som börjar blinka i ett antal sekunder när du hamnar på den sidan?
Nu måste tråden flyttas............
MVH Jesper T
OveRRidEMedlem sedan feb. 20018 509 inlägg
I samband med scriptet ovan då eller?
@ndersMedlem sedan juni 200026 914 inlägg
Jag flyttar tråden till javascript-forumet så hoppas vi att problemet löses!
Mvh,