473,795 Members | 2,443 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Why won't my download ever end?

I thought I had finally figured out how to control the downloads from my page. I was having issues with large files, but after much research I came up with the following code. The download seems to proceed without issue, but never terminiates. The byte count stops incrementing, but the dowload dialog never closes. (Until I hit cancel.) What's keeping the download from ending properly? I'm pretty close to finishing this app - any help is greatly appreciated. Thanks.

Dim fStream As FileStream
Dim bytesToGo As Long
Dim bytesRead As Long
Dim byteBuffer(1048 576) As Byte

fStream = New FileStream("C:\ DepotRoot\" & e.CommandArgume nt(), FileMode.Open, _
FileAccess.Read , FileShare.Read)
bytesToGo = fStream.Length
Response.Buffer Output = False
Response.Clear( )
Response.ClearC ontent()
Response.ClearH eaders()
Response.Conten tType = "applicatio n/octet-stream"
Response.Append Header("Content-Disposition", "attachment ; filename=""" & _
dr("FileName") & """")
Response.Flush( )
While (bytesToGo > 0)
If (Response.IsCli entConnected) Then
bytesRead = fStream.Read(by teBuffer, 0, 1048576)
Response.Output Stream.Write(by teBuffer, 0, bytesRead)
Response.Flush( )
bytesToGo -= bytesRead
Else
bytesToGo = -1
End If
End While

Response.Flush( ) 'This is kinda redundant, but it was worth a shot.
fStream.Close() 'Close the stream on the server side.
Response.End() 'Shouldn't this tell the browser to stop trying to download?
Thanks again!

- Jerry
Nov 18 '05 #1
12 1430
Here is the my theory.
Add ContentLength: to the header.

Response.Append Header("Content Length", Filesize.tostir ng() )
Let me know if it worked.
George.

"Jerry Camel" <rl*****@msn.co m> wrote in message news:uo******** ********@tk2msf tngp13.phx.gbl. ..
I thought I had finally figured out how to control the downloads from my page. I was having issues with large files, but after much research I came up with the following code. The download seems to proceed without issue, but never terminiates. The byte count stops incrementing, but the dowload dialog never closes. (Until I hit cancel.) What's keeping the download from ending properly? I'm pretty close to finishing this app - any help is greatly appreciated. Thanks.

Dim fStream As FileStream
Dim bytesToGo As Long
Dim bytesRead As Long
Dim byteBuffer(1048 576) As Byte

fStream = New FileStream("C:\ DepotRoot\" & e.CommandArgume nt(), FileMode.Open, _
FileAccess.Read , FileShare.Read)
bytesToGo = fStream.Length
Response.Buffer Output = False
Response.Clear( )
Response.ClearC ontent()
Response.ClearH eaders()
Response.Conten tType = "applicatio n/octet-stream"
Response.Append Header("Content-Disposition", "attachment ; filename=""" & _
dr("FileName") & """")
Response.Flush( )
While (bytesToGo > 0)
If (Response.IsCli entConnected) Then
bytesRead = fStream.Read(by teBuffer, 0, 1048576)
Response.Output Stream.Write(by teBuffer, 0, bytesRead)
Response.Flush( )
bytesToGo -= bytesRead
Else
bytesToGo = -1
End If
End While

Response.Flush( ) 'This is kinda redundant, but it was worth a shot.
fStream.Close() 'Close the stream on the server side.
Response.End() 'Shouldn't this tell the browser to stop trying to download?
Thanks again!

- Jerry
Nov 18 '05 #2
I appreciate the response, but that didn't do it. I was hoping it would at least address another item I posted regarding download progress, but it didn't do that either. Any other ideas?

Jerry
"George Ter-Saakov" <no****@hotmail .com> wrote in message news:Oy******** ********@TK2MSF TNGP11.phx.gbl. ..
Here is the my theory.
Add ContentLength: to the header.

Response.Append Header("Content Length", Filesize.tostir ng() )
Let me know if it worked.
George.

"Jerry Camel" <rl*****@msn.co m> wrote in message news:uo******** ********@tk2msf tngp13.phx.gbl. ..
I thought I had finally figured out how to control the downloads from my page. I was having issues with large files, but after much research I came up with the following code. The download seems to proceed without issue, but never terminiates. The byte count stops incrementing, but the dowload dialog never closes. (Until I hit cancel.) What's keeping the download from ending properly? I'm pretty close to finishing this app - any help is greatly appreciated. Thanks.

Dim fStream As FileStream
Dim bytesToGo As Long
Dim bytesRead As Long
Dim byteBuffer(1048 576) As Byte

fStream = New FileStream("C:\ DepotRoot\" & e.CommandArgume nt(), FileMode.Open, _
FileAccess.Read , FileShare.Read)
bytesToGo = fStream.Length
Response.Buffer Output = False
Response.Clear( )
Response.ClearC ontent()
Response.ClearH eaders()
Response.Conten tType = "applicatio n/octet-stream"
Response.Append Header("Content-Disposition", "attachment ; filename=""" & _
dr("FileName") & """")
Response.Flush( )
While (bytesToGo > 0)
If (Response.IsCli entConnected) Then
bytesRead = fStream.Read(by teBuffer, 0, 1048576)
Response.Output Stream.Write(by teBuffer, 0, bytesRead)
Response.Flush( )
bytesToGo -= bytesRead
Else
bytesToGo = -1
End If
End While

Response.Flush( ) 'This is kinda redundant, but it was worth a shot.
fStream.Close() 'Close the stream on the server side.
Response.End() 'Shouldn't this tell the browser to stop trying to download?
Thanks again!

- Jerry
Nov 18 '05 #3
FYI - This only seems to be a problem with larger downloads. The smaller downloads work just fine.
"Jerry Camel" <rl*****@msn.co m> wrote in message news:uo******** ********@tk2msf tngp13.phx.gbl. ..
I thought I had finally figured out how to control the downloads from my page. I was having issues with large files, but after much research I came up with the following code. The download seems to proceed without issue, but never terminiates. The byte count stops incrementing, but the dowload dialog never closes. (Until I hit cancel.) What's keeping the download from ending properly? I'm pretty close to finishing this app - any help is greatly appreciated. Thanks.

Dim fStream As FileStream
Dim bytesToGo As Long
Dim bytesRead As Long
Dim byteBuffer(1048 576) As Byte

fStream = New FileStream("C:\ DepotRoot\" & e.CommandArgume nt(), FileMode.Open, _
FileAccess.Read , FileShare.Read)
bytesToGo = fStream.Length
Response.Buffer Output = False
Response.Clear( )
Response.ClearC ontent()
Response.ClearH eaders()
Response.Conten tType = "applicatio n/octet-stream"
Response.Append Header("Content-Disposition", "attachment ; filename=""" & _
dr("FileName") & """")
Response.Flush( )
While (bytesToGo > 0)
If (Response.IsCli entConnected) Then
bytesRead = fStream.Read(by teBuffer, 0, 1048576)
Response.Output Stream.Write(by teBuffer, 0, bytesRead)
Response.Flush( )
bytesToGo -= bytesRead
Else
bytesToGo = -1
End If
End While

Response.Flush( ) 'This is kinda redundant, but it was worth a shot.
fStream.Close() 'Close the stream on the server side.
Response.End() 'Shouldn't this tell the browser to stop trying to download?
Thanks again!

- Jerry
Nov 18 '05 #4
Jerry,

If you solve this, it will be amazing. I spend days last week researching ths issue and read about developer teams spending months trying to get a solution, and finally did (but in a very messy and complex way). I hope you get it though...we will all be happy!!!

Earl

BTW, with the current solution you have so for, does the dowload dialog pop up to the client right away?

"Jerry Camel" <rl*****@msn.co m> wrote in message news:uo******** ********@tk2msf tngp13.phx.gbl. ..
I thought I had finally figured out how to control the downloads from my page. I was having issues with large files, but after much research I came up with the following code. The download seems to proceed without issue, but never terminiates. The byte count stops incrementing, but the dowload dialog never closes. (Until I hit cancel.) What's keeping the download from ending properly? I'm pretty close to finishing this app - any help is greatly appreciated. Thanks.

Dim fStream As FileStream
Dim bytesToGo As Long
Dim bytesRead As Long
Dim byteBuffer(1048 576) As Byte

fStream = New FileStream("C:\ DepotRoot\" & e.CommandArgume nt(), FileMode.Open, _
FileAccess.Read , FileShare.Read)
bytesToGo = fStream.Length
Response.Buffer Output = False
Response.Clear( )
Response.ClearC ontent()
Response.ClearH eaders()
Response.Conten tType = "applicatio n/octet-stream"
Response.Append Header("Content-Disposition", "attachment ; filename=""" & _
dr("FileName") & """")
Response.Flush( )
While (bytesToGo > 0)
If (Response.IsCli entConnected) Then
bytesRead = fStream.Read(by teBuffer, 0, 1048576)
Response.Output Stream.Write(by teBuffer, 0, bytesRead)
Response.Flush( )
bytesToGo -= bytesRead
Else
bytesToGo = -1
End If
End While

Response.Flush( ) 'This is kinda redundant, but it was worth a shot.
fStream.Close() 'Close the stream on the server side.
Response.End() 'Shouldn't this tell the browser to stop trying to download?
Thanks again!

- Jerry
Nov 18 '05 #5
Any reason not to just use the WriteFile method?

--
Thanks,

Eric Lawrence
Program Manager
Assistance and Worldwide Services

This posting is provided "AS IS" with no warranties, and confers no rights.

"Jerry Camel" <rl*****@msn.co m> wrote in message news:uo******** ******@tk2msftn gp13.phx.gbl...
I thought I had finally figured out how to control the downloads from my page. I was having issues with large files, but after much research I came up with the following code. The download seems to proceed without issue, but never terminiates. The byte count stops incrementing, but the dowload dialog never closes. (Until I hit cancel.) What's keeping the download from ending properly? I'm pretty close to finishing this app - any help is greatly appreciated. Thanks.

Dim fStream As FileStream
Dim bytesToGo As Long
Dim bytesRead As Long
Dim byteBuffer(1048 576) As Byte

fStream = New FileStream("C:\ DepotRoot\" & e.CommandArgume nt(), FileMode.Open, _
FileAccess.Read , FileShare.Read)
bytesToGo = fStream.Length
Response.Buffer Output = False
Response.Clear( )
Response.ClearC ontent()
Response.ClearH eaders()
Response.Conten tType = "applicatio n/octet-stream"
Response.Append Header("Content-Disposition", "attachment ; filename=""" & _
dr("FileName") & """")
Response.Flush( )
While (bytesToGo > 0)
If (Response.IsCli entConnected) Then
bytesRead = fStream.Read(by teBuffer, 0, 1048576)
Response.Output Stream.Write(by teBuffer, 0, bytesRead)
Response.Flush( )
bytesToGo -= bytesRead
Else
bytesToGo = -1
End If
End While

Response.Flush( ) 'This is kinda redundant, but it was worth a shot.
fStream.Close() 'Close the stream on the server side.
Response.End() 'Shouldn't this tell the browser to stop trying to download?
Thanks again!

- Jerry
Nov 18 '05 #6
When I tried it with Response.WriteF ile, larger files just ended up with a "Page Not Found" error.

The code below seems to work - there's something strange going on. I tried it with three files:

File1: 66,854K
File2: 74,902K
File3: 158,262K

Files 1 and 3 work without a problem. File 2 hangs every time. This is really making me crazy! What's the problem with 74 Meg if you can handle 158 Meg just fine?

Anyone? Please!?!??!?!

Jerry
"Eric Lawrence [MSFT]" <e_********@hot mail.com> wrote in message news:O8******** ********@tk2msf tngp13.phx.gbl. ..
Any reason not to just use the WriteFile method?

--
Thanks,

Eric Lawrence
Program Manager
Assistance and Worldwide Services

This posting is provided "AS IS" with no warranties, and confers no rights.

"Jerry Camel" <rl*****@msn.co m> wrote in message news:uo******** ******@tk2msftn gp13.phx.gbl...
I thought I had finally figured out how to control the downloads from my page. I was having issues with large files, but after much research I came up with the following code. The download seems to proceed without issue, but never terminiates. The byte count stops incrementing, but the dowload dialog never closes. (Until I hit cancel.) What's keeping the download from ending properly? I'm pretty close to finishing this app - any help is greatly appreciated. Thanks.

Dim fStream As FileStream
Dim bytesToGo As Long
Dim bytesRead As Long
Dim byteBuffer(1048 576) As Byte

fStream = New FileStream("C:\ DepotRoot\" & e.CommandArgume nt(), FileMode.Open, _
FileAccess.Read , FileShare.Read)
bytesToGo = fStream.Length
Response.Buffer Output = False
Response.Clear( )
Response.ClearC ontent()
Response.ClearH eaders()
Response.Conten tType = "applicatio n/octet-stream"
Response.Append Header("Content-Disposition", "attachment ; filename=""" & _
dr("FileName") & """")
Response.Flush( )
While (bytesToGo > 0)
If (Response.IsCli entConnected) Then
bytesRead = fStream.Read(by teBuffer, 0, 1048576)
Response.Output Stream.Write(by teBuffer, 0, bytesRead)
Response.Flush( )
bytesToGo -= bytesRead
Else
bytesToGo = -1
End If
End While

Response.Flush( ) 'This is kinda redundant, but it was worth a shot.
fStream.Close() 'Close the stream on the server side.
Response.End() 'Shouldn't this tell the browser to stop trying to download?
Thanks again!

- Jerry
Nov 18 '05 #7
The dialog seems to pop up pretty quickly. Why? Is that another known issue?

How do I get ahold of the "very messy and complex way"?

Jerry
"Earl Teigrob" <ea******@hotma il.com> wrote in message news:%2******** **********@TK2M SFTNGP11.phx.gb l...
Jerry,

If you solve this, it will be amazing. I spend days last week researching ths issue and read about developer teams spending months trying to get a solution, and finally did (but in a very messy and complex way). I hope you get it though...we will all be happy!!!

Earl

BTW, with the current solution you have so for, does the dowload dialog pop up to the client right away?

"Jerry Camel" <rl*****@msn.co m> wrote in message news:uo******** ********@tk2msf tngp13.phx.gbl. ..
I thought I had finally figured out how to control the downloads from my page. I was having issues with large files, but after much research I came up with the following code. The download seems to proceed without issue, but never terminiates. The byte count stops incrementing, but the dowload dialog never closes. (Until I hit cancel.) What's keeping the download from ending properly? I'm pretty close to finishing this app - any help is greatly appreciated. Thanks.

Dim fStream As FileStream
Dim bytesToGo As Long
Dim bytesRead As Long
Dim byteBuffer(1048 576) As Byte

fStream = New FileStream("C:\ DepotRoot\" & e.CommandArgume nt(), FileMode.Open, _
FileAccess.Read , FileShare.Read)
bytesToGo = fStream.Length
Response.Buffer Output = False
Response.Clear( )
Response.ClearC ontent()
Response.ClearH eaders()
Response.Conten tType = "applicatio n/octet-stream"
Response.Append Header("Content-Disposition", "attachment ; filename=""" & _
dr("FileName") & """")
Response.Flush( )
While (bytesToGo > 0)
If (Response.IsCli entConnected) Then
bytesRead = fStream.Read(by teBuffer, 0, 1048576)
Response.Output Stream.Write(by teBuffer, 0, bytesRead)
Response.Flush( )
bytesToGo -= bytesRead
Else
bytesToGo = -1
End If
End While

Response.Flush( ) 'This is kinda redundant, but it was worth a shot.
fStream.Close() 'Close the stream on the server side.
Response.End() 'Shouldn't this tell the browser to stop trying to download?
Thanks again!

- Jerry
Nov 18 '05 #8
And just to make things even more frustrating, File2 works from another workstation. I wonder if I've got some IE security patch on this box that doesn't like files with specific byte counts...
"Jerry Camel" <rl*****@msn.co m> wrote in message news:%2******** ************@TK 2MSFTNGP11.phx. gbl...
When I tried it with Response.WriteF ile, larger files just ended up with a "Page Not Found" error.

The code below seems to work - there's something strange going on. I tried it with three files:

File1: 66,854K
File2: 74,902K
File3: 158,262K

Files 1 and 3 work without a problem. File 2 hangs every time. This is really making me crazy! What's the problem with 74 Meg if you can handle 158 Meg just fine?

Anyone? Please!?!??!?!

Jerry
"Eric Lawrence [MSFT]" <e_********@hot mail.com> wrote in message news:O8******** ********@tk2msf tngp13.phx.gbl. ..
Any reason not to just use the WriteFile method?

--
Thanks,

Eric Lawrence
Program Manager
Assistance and Worldwide Services

This posting is provided "AS IS" with no warranties, and confers no rights.

"Jerry Camel" <rl*****@msn.co m> wrote in message news:uo******** ******@tk2msftn gp13.phx.gbl...
I thought I had finally figured out how to control the downloads from my page. I was having issues with large files, but after much research I came up with the following code. The download seems to proceed without issue, but never terminiates. The byte count stops incrementing, but the dowload dialog never closes. (Until I hit cancel.) What's keeping the download from ending properly? I'm pretty close to finishing this app - any help is greatly appreciated. Thanks.

Dim fStream As FileStream
Dim bytesToGo As Long
Dim bytesRead As Long
Dim byteBuffer(1048 576) As Byte

fStream = New FileStream("C:\ DepotRoot\" & e.CommandArgume nt(), FileMode.Open, _
FileAccess.Read , FileShare.Read)
bytesToGo = fStream.Length
Response.Buffer Output = False
Response.Clear( )
Response.ClearC ontent()
Response.ClearH eaders()
Response.Conten tType = "applicatio n/octet-stream"
Response.Append Header("Content-Disposition", "attachment ; filename=""" & _
dr("FileName") & """")
Response.Flush( )
While (bytesToGo > 0)
If (Response.IsCli entConnected) Then
bytesRead = fStream.Read(by teBuffer, 0, 1048576)
Response.Output Stream.Write(by teBuffer, 0, bytesRead)
Response.Flush( )
bytesToGo -= bytesRead
Else
bytesToGo = -1
End If
End While

Response.Flush( ) 'This is kinda redundant, but it was worth a shot.
fStream.Close() 'Close the stream on the server side.
Response.End() 'Shouldn't this tell the browser to stop trying to download?
Thanks again!

- Jerry
Nov 18 '05 #9
Read this

http://www.dotnetjunkies.com/Article...2E50CBFA..dcik
"Jerry Camel" <rl*****@msn.co m> wrote in message news:uw******** ********@TK2MSF TNGP10.phx.gbl. ..
The dialog seems to pop up pretty quickly. Why? Is that another known issue?

How do I get ahold of the "very messy and complex way"?

Jerry
"Earl Teigrob" <ea******@hotma il.com> wrote in message news:%2******** **********@TK2M SFTNGP11.phx.gb l...
Jerry,

If you solve this, it will be amazing. I spend days last week researching ths issue and read about developer teams spending months trying to get a solution, and finally did (but in a very messy and complex way). I hope you get it though...we will all be happy!!!

Earl

BTW, with the current solution you have so for, does the dowload dialog pop up to the client right away?

"Jerry Camel" <rl*****@msn.co m> wrote in message news:uo******** ********@tk2msf tngp13.phx.gbl. ..
I thought I had finally figured out how to control the downloads from my page. I was having issues with large files, but after much research I came up with the following code. The download seems to proceed without issue, but never terminiates. The byte count stops incrementing, but the dowload dialog never closes. (Until I hit cancel.) What's keeping the download from ending properly? I'm pretty close to finishing this app - any help is greatly appreciated. Thanks.

Dim fStream As FileStream
Dim bytesToGo As Long
Dim bytesRead As Long
Dim byteBuffer(1048 576) As Byte

fStream = New FileStream("C:\ DepotRoot\" & e.CommandArgume nt(), FileMode.Open, _
FileAccess.Read , FileShare.Read)
bytesToGo = fStream.Length
Response.Buffer Output = False
Response.Clear( )
Response.ClearC ontent()
Response.ClearH eaders()
Response.Conten tType = "applicatio n/octet-stream"
Response.Append Header("Content-Disposition", "attachment ; filename=""" & _
dr("FileName") & """")
Response.Flush( )
While (bytesToGo > 0)
If (Response.IsCli entConnected) Then
bytesRead = fStream.Read(by teBuffer, 0, 1048576)
Response.Output Stream.Write(by teBuffer, 0, bytesRead)
Response.Flush( )
bytesToGo -= bytesRead
Else
bytesToGo = -1
End If
End While

Response.Flush( ) 'This is kinda redundant, but it was worth a shot.
fStream.Close() 'Close the stream on the server side.
Response.End() 'Shouldn't this tell the browser to stop trying to download?
Thanks again!

- Jerry
Nov 18 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
6129
by: Brandon Walters | last post by:
I wrote a file download module for my website. The reason for the file download module is that my website downloads work on a credit based system. So I need to keep track of and limit daily downloads. It uses fpassthru() and some headers() to send a file to the requesting user. The get.php file that I wrote (the file download module if you will) works like a charm for .ZIP files and .TXT files. However, when .EXE files are downloaded...
1
7207
by: Dave | last post by:
Hi Everyone, I was wondering if anyone has ever successfully used SA-FileUp's download feature. I am being forced to change from "ASPSmartUpload" as the server I am moving everything to is using SAFileUp version 3.2. I ran through their documentation and found a section called "secure download", unfortunately, their examples do not work at all! On Netscape 7, the file "pretends" to download (after changing the file
4
2703
by: Hitesh | last post by:
Hi, I am having a requirement where in user can click on a link and the download popup appears and then user should be redirected to a congratulations page. We didn't bother whether the download is successful or not but as soon as user clicks on the download link the popup appears, and then the user should be directed to the congratulations page. I have written the standard code to download the file but after that i am
2
1067
by: Ken Spreitzer | last post by:
Hi, all. Quick question -- hopefully just a "yes" or "no". Will a user ever download a (separate) file with the extension ".manifest" when using *any* facet of .NET (ie, ASP.NET, WinForms, web service, etc)? More specifically, if I parse the web server log files for a server which either uses ASP.NET or is hosting some other .NET-based component, will I ever run across a file with an extension of ".manifest"? Or are .manifest files...
0
9672
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9519
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10001
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
6780
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5437
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5563
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4113
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3727
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2920
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.