• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 421
  • Last Modified:

ProgressBar for xmlHttpRequest


I have an activeX app which is used to upload and download files, the way is does this is by encoding and decoding the files into xml then using the xmlHttpRequest method in VB to and from asp pages on the server which encode/decode (depending on up or download) and save the faile back in its original state.

To get round the progressbar issue over http what I have done is calculate the file size , estimate the network speed then divide the file size by network speed, set a progressbar max value to the result and fire off a timer which runs until the progressbar reaches its max value.

This isnt too inaccurate but I can forsee future inaccuracies with larger / smaller files and varying internet speeds.

SO can anyone suggest a way or gettting the progress of a file transfer using the xmlHttpRequest object

e.g getBytesLoaded in action script?

many thanks.

1 Solution
The only problem you will have is correctly determining remaining time.

Your system will work perfectly for displaying progress, however, if you want to display time remaining, I suggest you simply take an average.

 dim startTime as date
 dim bytesTransfered as long
 dim eSec as long
 dim rate as long
 dim totalBytes as long

 startTime = now

 eSec = datediff("s",now,startTime)
 rate = bytesTransfered / eSec 'bytes per sec

Does that make sense?
wdhoughAuthor Commented:
yeah wicked thanks.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now