File Download from Network Share

G

Guest

Hi!

I am using impersonate="true" 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,
 
P

Patrice

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.WriteFile).

Patrice
 
M

Mark Broadbent

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.
 
G

Guest

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_050601105406_DIA.JPG"
strFilePath = "\\<Network Server Name>\<folder
Name>\XXXX_050601105406_DIA.JPG"
strFileExtn = strFileName.Substring(strFileName.LastIndexOf(".") + 1)

Select Case strFileExtn.ToUpper()
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 = "application/pdf"
Case "RTF"
strMIMEType = "application/rtf"
Case "XML", "XSL", "XSLT"
strMIMEType = "text/xml"
Case "WPD"
strMIMEType = "application/wordperfect"
Case "WRI"
strMIMEType = "application/mswrite"
Case "XLS", "XLS3", "XLS4", "XLS5", "XLW"
strMIMEType = "application/msexcel"
Case "DOC"
strMIMEType = "application/msword"
Case "PPT", "PPS"
strMIMEType = "application/mspowerpoint"
Case "WML"
strMIMEType = "text/vnd.wap.wml"
Case "WMLS"
strMIMEType = "text/vnd.wap.wmlscript"
Case "WBMP"
strMIMEType = "image/vnd.wap.wbmp"
Case "WMLC"
strMIMEType = "application/vnd.wap.wmlc"
Case "WMLSC"
strMIMEType = "application/vnd.wap.wmlscriptc"
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 = "application/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 = "application/x-director"
Case "SWF"
strMIMEType = "application/x-shockwave-flash"
Case "ZIP"
strMIMEType = "application/x-zip-compressed"
Case "GZ"
strMIMEType = "application/x-gzip"
Case "RAR"
strMIMEType = "application/x-rar-compressed"
Case "COM", "EXE", "DLL", "OCX"
strMIMEType = "application/octet-stream"
Case Else
strMIMEType = "application/octet-stream"
End Select
Response.Clear()
Response.ContentType = strMIMEType
Response.AddHeader("content-disposition", "attachment;filename=" +
strFileName)
fsFile = New FileStream(strFilePath, FileMode.Open)
lnFileSize = fsFile.Length
Dim getContent(CInt(lnFileSize)) As Byte
fsFile.Read(getContent, 0, CInt(fsFile.Length))
fsFile.Close()
Response.BinaryWrite(getContent)
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
 
P

Patrice

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;filename=..." in the header...

Good luck.

--
 
G

Guest

Hi! Patrice

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

Thanks again
Baren
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,053
Latest member
BrodieSola

Latest Threads

Top