Web browrser (IE/NN) does not accept response data when uploading. So there is one another way to show progress bar during upload - open a new client browser window with another server script on begginning of upload and access current uploading form from the second server script (task).
These two server upload tasks are join using
ScriptUtils.
ASPForm.
UploadID property (in the uploading task) and
ScriptUtils.
ASPForm.
getForm property (progress bar task). You can use
ScriptUtils.
ASPForm.
NewUploadID property to get unique upload ID, or you can get this ID by any other way (for example, using rnd() function).
|
| Upload - Progress bar concept. | |
|---|
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
Form.UploadID = Request.QueryString("UploadID")
If Form.State = 0 Then
....
End If
End If'POST
%>
Progress bar script:
<%
Dim Form: Set Form = CreateObject("ScriptUtils.ASPForm")
On Error Resume Next
Set Form = Form.getForm(Request.QueryString("UploadID"))
If Err = 0 Then '?completed 0 = in progress
For Each Field In Form.Files
fHTML = fHTML & "FieldName:" & Field.Name
If Field.Length<=0 And Field.FileName<>"" Then
fHTML = fHTML & ", uploading: " & Field.FileName
ElseIf Field.Length>0 Then
fHTML = fHTML & ", OK: " & Field.FileName & "," & FormatSize(Field.Length)
End If
fHTML = fHTML & "<br>"
Next
Response.Write fHTML
End If
%> |