473,721 Members | 2,254 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

File Download from Network Share

Hi!

I am using impersonate="tr ue" to upload and download files from a network
share.

I have created common users on both the webserver and the file server. The
user has permission to the files server folder.
I am able to upload the files into the fileserver, but while downloading the
same i am getting error "file doesn't exist" and the path it shows is
localhost temporary internet files.

Please help

Thanks in advance,
Nov 19 '05 #1
5 5280
Is the "localhost" location correct ? If not you'll have likely to fix how
the path is build

How do you want to download this file ? Do you want a direct link to a file
share ? My personal preference is to stream the file using the server side
page (using Response.WriteF ile).

Patrice
--

"Baren" <Ba***@discussi ons.microsoft.c om> a écrit dans le message de
news:EA******** *************** ***********@mic rosoft.com...
Hi!

I am using impersonate="tr ue" to upload and download files from a network
share.

I have created common users on both the webserver and the file server. The
user has permission to the files server folder.
I am able to upload the files into the fileserver, but while downloading the same i am getting error "file doesn't exist" and the path it shows is
localhost temporary internet files.

Please help

Thanks in advance,

Nov 19 '05 #2
In addition, have a look at using the WebClient class in any event. I have
experienced it's performance to be far superior to any of the other methods
of moving files.

Br,

Mark.

"Patrice" <no****@nowhere .com> wrote in message
news:eH******** ******@TK2MSFTN GP10.phx.gbl...
Is the "localhost" location correct ? If not you'll have likely to fix how
the path is build

How do you want to download this file ? Do you want a direct link to a
file
share ? My personal preference is to stream the file using the server side
page (using Response.WriteF ile).

Patrice
--

"Baren" <Ba***@discussi ons.microsoft.c om> a écrit dans le message de
news:EA******** *************** ***********@mic rosoft.com...
Hi!

I am using impersonate="tr ue" to upload and download files from a network
share.

I have created common users on both the webserver and the file server.
The
user has permission to the files server folder.
I am able to upload the files into the fileserver, but while downloading

the
same i am getting error "file doesn't exist" and the path it shows is
localhost temporary internet files.

Please help

Thanks in advance,


Nov 19 '05 #3
Hi! Patrice,

Thanks for the response. I am using filestream to read the file like
Dim strFilePath As String
Dim strFileName As String
Dim fsFile As FileStream
Dim strFileExtn As String
Dim strMIMEType As String
Dim lnFileSize As Long

strFileName = "XXXX_050601105 406_DIA.JPG"
strFilePath = "\\<Network Server Name>\<folder
Name>\XXXX_0506 01105406_DIA.JP G"
strFileExtn = strFileName.Sub string(strFileN ame.LastIndexOf (".") + 1)

Select Case strFileExtn.ToU pper()
Case "AU", "SND"
strMIMEType = "audio/basic"
Case "WAV"
strMIMEType = "audio/wav"
Case "RA", "RM", "RAM"
strMIMEType = "audio/x-pn-realaudio"
Case "MID", "MIDI"
strMIMEType = "audio/x-midi"
Case "MP3"
strMIMEType = "audio/mp3"
Case "M3U"
strMIMEType = "audio/m3u"
Case "TXT", "TEXT", "VBS", "ASP", "CGI", "PL", "NFO", "ME", "DTD"
strMIMEType = "text/plain"
Case "HTM", "HTML", "HTA", "HTX", "MHT"
strMIMEType = "text/html"
Case "JS"
strMIMEType = "text/javascript"
Case "CSS"
strMIMEType = "text/css"
Case "PDF"
strMIMEType = "applicatio n/pdf"
Case "RTF"
strMIMEType = "applicatio n/rtf"
Case "XML", "XSL", "XSLT"
strMIMEType = "text/xml"
Case "WPD"
strMIMEType = "applicatio n/wordperfect"
Case "WRI"
strMIMEType = "applicatio n/mswrite"
Case "XLS", "XLS3", "XLS4", "XLS5", "XLW"
strMIMEType = "applicatio n/msexcel"
Case "DOC"
strMIMEType = "applicatio n/msword"
Case "PPT", "PPS"
strMIMEType = "applicatio n/mspowerpoint"
Case "WML"
strMIMEType = "text/vnd.wap.wml"
Case "WMLS"
strMIMEType = "text/vnd.wap.wmlscri pt"
Case "WBMP"
strMIMEType = "image/vnd.wap.wbmp"
Case "WMLC"
strMIMEType = "applicatio n/vnd.wap.wmlc"
Case "WMLSC"
strMIMEType = "applicatio n/vnd.wap.wmlscri ptc"
Case "GIF"
strMIMEType = "image/gif"
Case "JPG", "JPE", "JPEG"
strMIMEType = "image/jpeg"
Case "PNG"
strMIMEType = "image/png"
Case "BMP"
strMIMEType = "image/bmp"
Case "TIF", "TIFF"
strMIMEType = "image/tiff"
Case "AI", "EPS", "PS"
strMIMEType = "applicatio n/postscript"
Case "ASF"
strMIMEType = "video/x-ms-asf"
Case "AVI"
strMIMEType = "video/avi"
Case "MPG", "MPEG"
strMIMEType = "video/mpeg"
Case "QT", "MOV", "QTVR"
strMIMEType = "video/quicktime"
Case "SWA"
strMIMEType = "applicatio n/x-director"
Case "SWF"
strMIMEType = "applicatio n/x-shockwave-flash"
Case "ZIP"
strMIMEType = "applicatio n/x-zip-compressed"
Case "GZ"
strMIMEType = "applicatio n/x-gzip"
Case "RAR"
strMIMEType = "applicatio n/x-rar-compressed"
Case "COM", "EXE", "DLL", "OCX"
strMIMEType = "applicatio n/octet-stream"
Case Else
strMIMEType = "applicatio n/octet-stream"
End Select
Response.Clear( )
Response.Conten tType = strMIMEType
Response.AddHea der("content-disposition", "attachment;fil ename=" +
strFileName)
fsFile = New FileStream(strF ilePath, FileMode.Open)
lnFileSize = fsFile.Length
Dim getContent(CInt (lnFileSize)) As Byte
fsFile.Read(get Content, 0, CInt(fsFile.Len gth))
fsFile.Close()
Response.Binary Write(getConten t)
Response.End()

It's working fine when i am viewing a page without user authentications .

In my project, different user's have username and encrypted passwords. On
valid authentication user is allowed to go into the site. Here the problem
occours when the user is trying to view the files, whereas if user downloads
the file, its downloads properly with the correct file.

Thanks,
Baren

"Patrice" wrote:
Is the "localhost" location correct ? If not you'll have likely to fix how
the path is build

How do you want to download this file ? Do you want a direct link to a file
share ? My personal preference is to stream the file using the server side
page (using Response.WriteF ile).

Patrice
--

"Baren" <Ba***@discussi ons.microsoft.c om> a écrit dans le message de
news:EA******** *************** ***********@mic rosoft.com...
Hi!

I am using impersonate="tr ue" to upload and download files from a network
share.

I have created common users on both the webserver and the file server. The
user has permission to the files server folder.
I am able to upload the files into the fileserver, but while downloading

the
same i am getting error "file doesn't exist" and the path it shows is
localhost temporary internet files.

Please help

Thanks in advance,


Nov 19 '05 #4

What is the exact error ? I don't understand what you mean by "the path it
shows is localhost temporary internet files". Where do you see this name ?

For now it looks like a permission problem. Double check impersonated users
are allowed to read from this location you could,have a test page dthat even
doesn't stream)...

To stream the file you could use Response.Write. Not sure but the mimetype
could be useless (AFAIK it uses the file extension when using
"attachment;fil ename=..." in the header...

Good luck.

--

"Baren" <Ba***@discussi ons.microsoft.c om> a écrit dans le message de
news:ED******** *************** ***********@mic rosoft.com...
Hi! Patrice,

Thanks for the response. I am using filestream to read the file like
Dim strFilePath As String
Dim strFileName As String
Dim fsFile As FileStream
Dim strFileExtn As String
Dim strMIMEType As String
Dim lnFileSize As Long

strFileName = "XXXX_050601105 406_DIA.JPG"
strFilePath = "\\<Network Server Name>\<folder
Name>\XXXX_0506 01105406_DIA.JP G"
strFileExtn = strFileName.Sub string(strFileN ame.LastIndexOf (".") + 1)
Select Case strFileExtn.ToU pper()
Case "AU", "SND"
strMIMEType = "audio/basic"
Case "WAV"
strMIMEType = "audio/wav"
Case "RA", "RM", "RAM"
strMIMEType = "audio/x-pn-realaudio"
Case "MID", "MIDI"
strMIMEType = "audio/x-midi"
Case "MP3"
strMIMEType = "audio/mp3"
Case "M3U"
strMIMEType = "audio/m3u"
Case "TXT", "TEXT", "VBS", "ASP", "CGI", "PL", "NFO", "ME", "DTD" strMIMEType = "text/plain"
Case "HTM", "HTML", "HTA", "HTX", "MHT"
strMIMEType = "text/html"
Case "JS"
strMIMEType = "text/javascript"
Case "CSS"
strMIMEType = "text/css"
Case "PDF"
strMIMEType = "applicatio n/pdf"
Case "RTF"
strMIMEType = "applicatio n/rtf"
Case "XML", "XSL", "XSLT"
strMIMEType = "text/xml"
Case "WPD"
strMIMEType = "applicatio n/wordperfect"
Case "WRI"
strMIMEType = "applicatio n/mswrite"
Case "XLS", "XLS3", "XLS4", "XLS5", "XLW"
strMIMEType = "applicatio n/msexcel"
Case "DOC"
strMIMEType = "applicatio n/msword"
Case "PPT", "PPS"
strMIMEType = "applicatio n/mspowerpoint"
Case "WML"
strMIMEType = "text/vnd.wap.wml"
Case "WMLS"
strMIMEType = "text/vnd.wap.wmlscri pt"
Case "WBMP"
strMIMEType = "image/vnd.wap.wbmp"
Case "WMLC"
strMIMEType = "applicatio n/vnd.wap.wmlc"
Case "WMLSC"
strMIMEType = "applicatio n/vnd.wap.wmlscri ptc"
Case "GIF"
strMIMEType = "image/gif"
Case "JPG", "JPE", "JPEG"
strMIMEType = "image/jpeg"
Case "PNG"
strMIMEType = "image/png"
Case "BMP"
strMIMEType = "image/bmp"
Case "TIF", "TIFF"
strMIMEType = "image/tiff"
Case "AI", "EPS", "PS"
strMIMEType = "applicatio n/postscript"
Case "ASF"
strMIMEType = "video/x-ms-asf"
Case "AVI"
strMIMEType = "video/avi"
Case "MPG", "MPEG"
strMIMEType = "video/mpeg"
Case "QT", "MOV", "QTVR"
strMIMEType = "video/quicktime"
Case "SWA"
strMIMEType = "applicatio n/x-director"
Case "SWF"
strMIMEType = "applicatio n/x-shockwave-flash"
Case "ZIP"
strMIMEType = "applicatio n/x-zip-compressed"
Case "GZ"
strMIMEType = "applicatio n/x-gzip"
Case "RAR"
strMIMEType = "applicatio n/x-rar-compressed"
Case "COM", "EXE", "DLL", "OCX"
strMIMEType = "applicatio n/octet-stream"
Case Else
strMIMEType = "applicatio n/octet-stream"
End Select
Response.Clear( )
Response.Conten tType = strMIMEType
Response.AddHea der("content-disposition", "attachment;fil ename=" +
strFileName)
fsFile = New FileStream(strF ilePath, FileMode.Open)
lnFileSize = fsFile.Length
Dim getContent(CInt (lnFileSize)) As Byte
fsFile.Read(get Content, 0, CInt(fsFile.Len gth))
fsFile.Close()
Response.Binary Write(getConten t)
Response.End()

It's working fine when i am viewing a page without user authentications .

In my project, different user's have username and encrypted passwords. On
valid authentication user is allowed to go into the site. Here the problem
occours when the user is trying to view the files, whereas if user downloads the file, its downloads properly with the correct file.

Thanks,
Baren

"Patrice" wrote:
Is the "localhost" location correct ? If not you'll have likely to fix how the path is build

How do you want to download this file ? Do you want a direct link to a file share ? My personal preference is to stream the file using the server side page (using Response.WriteF ile).

Patrice
--

"Baren" <Ba***@discussi ons.microsoft.c om> a écrit dans le message de
news:EA******** *************** ***********@mic rosoft.com...
Hi!

I am using impersonate="tr ue" to upload and download files from a network share.

I have created common users on both the webserver and the file server. The user has permission to the files server folder.
I am able to upload the files into the fileserver, but while
downloading the
same i am getting error "file doesn't exist" and the path it shows is
localhost temporary internet files.

Please help

Thanks in advance,


Nov 19 '05 #5
Hi! Patrice

Thanks for the reply. I am able to solve the problem. I had this code
Response.Cache. SetCacheability (HttpCacheabili ty.NoCache) which was causing
the problem. Now i commented the line and its working fine.

Thanks again
Baren

"Patrice" wrote:

What is the exact error ? I don't understand what you mean by "the path it
shows is localhost temporary internet files". Where do you see this name ?

For now it looks like a permission problem. Double check impersonated users
are allowed to read from this location you could,have a test page dthat even
doesn't stream)...

To stream the file you could use Response.Write. Not sure but the mimetype
could be useless (AFAIK it uses the file extension when using
"attachment;fil ename=..." in the header...

Good luck.

--

"Baren" <Ba***@discussi ons.microsoft.c om> a écrit dans le message de
news:ED******** *************** ***********@mic rosoft.com...
Hi! Patrice,

Thanks for the response. I am using filestream to read the file like
Dim strFilePath As String
Dim strFileName As String
Dim fsFile As FileStream
Dim strFileExtn As String
Dim strMIMEType As String
Dim lnFileSize As Long

strFileName = "XXXX_050601105 406_DIA.JPG"
strFilePath = "\\<Network Server Name>\<folder
Name>\XXXX_0506 01105406_DIA.JP G"
strFileExtn = strFileName.Sub string(strFileN ame.LastIndexOf (".") +

1)

Select Case strFileExtn.ToU pper()
Case "AU", "SND"
strMIMEType = "audio/basic"
Case "WAV"
strMIMEType = "audio/wav"
Case "RA", "RM", "RAM"
strMIMEType = "audio/x-pn-realaudio"
Case "MID", "MIDI"
strMIMEType = "audio/x-midi"
Case "MP3"
strMIMEType = "audio/mp3"
Case "M3U"
strMIMEType = "audio/m3u"
Case "TXT", "TEXT", "VBS", "ASP", "CGI", "PL", "NFO", "ME",

"DTD"
strMIMEType = "text/plain"
Case "HTM", "HTML", "HTA", "HTX", "MHT"
strMIMEType = "text/html"
Case "JS"
strMIMEType = "text/javascript"
Case "CSS"
strMIMEType = "text/css"
Case "PDF"
strMIMEType = "applicatio n/pdf"
Case "RTF"
strMIMEType = "applicatio n/rtf"
Case "XML", "XSL", "XSLT"
strMIMEType = "text/xml"
Case "WPD"
strMIMEType = "applicatio n/wordperfect"
Case "WRI"
strMIMEType = "applicatio n/mswrite"
Case "XLS", "XLS3", "XLS4", "XLS5", "XLW"
strMIMEType = "applicatio n/msexcel"
Case "DOC"
strMIMEType = "applicatio n/msword"
Case "PPT", "PPS"
strMIMEType = "applicatio n/mspowerpoint"
Case "WML"
strMIMEType = "text/vnd.wap.wml"
Case "WMLS"
strMIMEType = "text/vnd.wap.wmlscri pt"
Case "WBMP"
strMIMEType = "image/vnd.wap.wbmp"
Case "WMLC"
strMIMEType = "applicatio n/vnd.wap.wmlc"
Case "WMLSC"
strMIMEType = "applicatio n/vnd.wap.wmlscri ptc"
Case "GIF"
strMIMEType = "image/gif"
Case "JPG", "JPE", "JPEG"
strMIMEType = "image/jpeg"
Case "PNG"
strMIMEType = "image/png"
Case "BMP"
strMIMEType = "image/bmp"
Case "TIF", "TIFF"
strMIMEType = "image/tiff"
Case "AI", "EPS", "PS"
strMIMEType = "applicatio n/postscript"
Case "ASF"
strMIMEType = "video/x-ms-asf"
Case "AVI"
strMIMEType = "video/avi"
Case "MPG", "MPEG"
strMIMEType = "video/mpeg"
Case "QT", "MOV", "QTVR"
strMIMEType = "video/quicktime"
Case "SWA"
strMIMEType = "applicatio n/x-director"
Case "SWF"
strMIMEType = "applicatio n/x-shockwave-flash"
Case "ZIP"
strMIMEType = "applicatio n/x-zip-compressed"
Case "GZ"
strMIMEType = "applicatio n/x-gzip"
Case "RAR"
strMIMEType = "applicatio n/x-rar-compressed"
Case "COM", "EXE", "DLL", "OCX"
strMIMEType = "applicatio n/octet-stream"
Case Else
strMIMEType = "applicatio n/octet-stream"
End Select
Response.Clear( )
Response.Conten tType = strMIMEType
Response.AddHea der("content-disposition", "attachment;fil ename=" +
strFileName)
fsFile = New FileStream(strF ilePath, FileMode.Open)
lnFileSize = fsFile.Length
Dim getContent(CInt (lnFileSize)) As Byte
fsFile.Read(get Content, 0, CInt(fsFile.Len gth))
fsFile.Close()
Response.Binary Write(getConten t)
Response.End()

It's working fine when i am viewing a page without user authentications .

In my project, different user's have username and encrypted passwords. On
valid authentication user is allowed to go into the site. Here the problem
occours when the user is trying to view the files, whereas if user

downloads
the file, its downloads properly with the correct file.

Thanks,
Baren

"Patrice" wrote:
Is the "localhost" location correct ? If not you'll have likely to fix how the path is build

How do you want to download this file ? Do you want a direct link to a file share ? My personal preference is to stream the file using the server side page (using Response.WriteF ile).

Patrice
--

"Baren" <Ba***@discussi ons.microsoft.c om> a écrit dans le message de
news:EA******** *************** ***********@mic rosoft.com...
> Hi!
>
> I am using impersonate="tr ue" to upload and download files from a network > share.
>
> I have created common users on both the webserver and the file server. The > user has permission to the files server folder.
> I am able to upload the files into the fileserver, but while downloading the
> same i am getting error "file doesn't exist" and the path it shows is
> localhost temporary internet files.
>
> Please help
>
> Thanks in advance,


Nov 19 '05 #6

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

Similar topics

6
9733
by: moonriver | last post by:
I write a program accessing files in network drive o:. It is doable as a standalone application. However, if it is running under windows service, the following exception will appear: 13/07/2004 10:24:48 AM run() error: System.IO.IOException: The specified network password is not correct. at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare...
8
11850
by: Lam | last post by:
HI anyone knows how can I open a mapped network file in C#? I try string file = @"T:\file.txt"; it shows me the error: "Could not find a part of the path" but if I copy the file to my C dirve, and use @"C:\file.txt"; it worked Thanks a lot
3
1340
by: Frank Hofmann | last post by:
Hi there, I'm new to .Net and programming of web sites. But I have to build a solution which can do the following: Only authorized people can connect to a specific site. They have to login with user name and password. This works fine with the authenticated forms feature of ASP.NET. The site itself should provide the download of WAV files.
11
3068
by: Andre | last post by:
Hi, I have ASP.NET application running on standalone (not part of the domain) Windows 2003. I use forms authentication for my application. The problem I have is that I need to create and read files on Windows domain network shared drives and also on shared via Samba Unix drives, which is equivalent to writing/reading to the workgroup computer. Please point, if possible, to detailed step by step description of what needs to be done. Thank...
1
2134
by: Bala | last post by:
Hi Currently I am displaying the list of files name on my datagrid. The files physcially stored on network machine call TestMachine, not in the webserver. r In grid the file path says "file:\\Testmachine\Arc\Folders\test.pdf" I already created the username and password for those folder and Impersonating. thats working fine. after impersonating when i try to access that file i am getting this error.
4
3900
by: abhanjee | last post by:
Hello, I am a newbie and am developing an application for work. I have figured out how to upload a file attachment to the SQL database and download the same file using C# and Visual Studio. However, the user wants to download and edit a file and then upload the same file back to the database (ie overwrite the file). How do I do this? Also, how to upload/download the file to a network drive instead of
0
1735
by: Dom Rout | last post by:
Hello. Well, this is my first post on any USENET group anywhere, so I hope I get it right. Basically, I just want to get some opinions on a plan of mine for a new project. I want to produce a small, peer to peer, file sharing network for the use of myself and some of my friends. The purpose of this is basically to allow us to share files conveniently without relying on technology such as Windows Live Messenger (Yuck).
0
1741
by: =?Utf-8?B?UGhpbCBKb2huc29u?= | last post by:
Hi, We have a legacy asp application that uses a third party component to upload a file and saves it to a secure network share. The code sets the credentials for the secure network share on the third party component. I want to do something similar from C# code and save a file to the secure network share by setting the credentials to access the network share in code rather than running the C# code under the user account that has access...
0
2043
by: cw808 | last post by:
Hi all. I'm new here but hoping I can get some help for my problem. My situation is that I need to upload files through a C# .NET web application to a file server. I done a search and followed some advice on how to set it up. My environment is Windows 2003 file server, Windows 2000 web service (IIS) and .NET v1.1.4. So far I've done this. Windows 2003 file server: Created an account SHAREUSER. Created a share MEDIA. SHAREUSER is...
0
8840
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
8730
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
9367
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
9131
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8007
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6669
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4484
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...
2
2576
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2130
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.