【发布时间】:2013-06-07 02:13:25
【问题描述】:
我对每一行都有一个gridview 和一个下载按钮。 页面目标是列出所有与物理文件相关的记录,当点击下载按钮时,它应该下载并打开下载的文件。文件为“pdf”格式。
页面已编码,一切正常。我想在文件下载后重新绑定gridview。但下载后,页面的其余部分执行或生命周期并未完成。
似乎问题出在页面处理程序上。我尝试通过互联网搜索,但不幸的是没有找到解决方案。我请求各位专家在这个问题上帮助我。 我的代码如下。
Dim outputStream As FileStream = New FileStream((Server.MapPath("../ScannedDoc") + ("\" + fileName)), FileMode.Create) reqFTP = CType(FtpWebRequest.Create(New Uri(DataDirectory + "InternalDocuments/" + folderName + "/" + fileName)), FtpWebRequest)
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile
reqFTP.UseBinary = True
reqFTP.Credentials = New NetworkCredential(uid, pwd)
Dim ftpresponse As FtpWebResponse = CType(reqFTP.GetResponse, FtpWebResponse)
Dim ftpStream As Stream = ftpresponse.GetResponseStream
Dim cl As Long = ftpresponse.ContentLength
Dim bufferSize As Integer = 2048
Dim readCount As Integer
Dim buffer() As Byte = New Byte((bufferSize) - 1) {}
readCount = ftpStream.Read(buffer, 0, bufferSize)
While (readCount > 0)
outputStream.Write(buffer, 0, readCount)
readCount = ftpStream.Read(buffer, 0, bufferSize)
End While
ftpStream.Close()
outputStream.Close()
ftpresponse.Close()
Dim responseFile As String = Server.MapPath("../ScannedDoc") + ("\\" + fileName)
Response.ContentType = "application/pdf"
Response.AppendHeader("Content-Disposition", ("attachment; filename=" + fileName))
Response.TransmitFile(responseFile)
Response.Flush()
File.Delete(responseFile)
提前致谢
斯里。
【问题讨论】:
-
Always two there are: no more, no less. A request and a response.用户点击下载是请求。传输文件是响应。您只会收到一个请求响应。