后台是vb.net
先从数据库里取得一批数据,然后写到CSV文件里,并将这个CSV文件保存到服务器的某个路径下,然后把这个文件下载到客户端上面的功能已经实现现在要修正一下, 就是说数据写到CSV文件后不保存到服务器上,直接在数据写完以后就将CSV文件下载到本地,请问这个代码该如何实现呢?实现下载的代码如下
Dim objFileInfo As System.IO.FileInfo = New System.IO.FileInfo(strWinPath & strFileNm) If System.IO.File.Exists(strWinPath & strFileNm) Then
Response.Clear()
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename=" + objFileInfo.Name)
Response.AddHeader("Content-Length", objFileInfo.Length.ToString())
Response.WriteFile(objFileInfo.FullName)
Response.Flush()
Response.End() End If
先从数据库里取得一批数据,然后写到CSV文件里,并将这个CSV文件保存到服务器的某个路径下,然后把这个文件下载到客户端上面的功能已经实现现在要修正一下, 就是说数据写到CSV文件后不保存到服务器上,直接在数据写完以后就将CSV文件下载到本地,请问这个代码该如何实现呢?实现下载的代码如下
Dim objFileInfo As System.IO.FileInfo = New System.IO.FileInfo(strWinPath & strFileNm) If System.IO.File.Exists(strWinPath & strFileNm) Then
Response.Clear()
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename=" + objFileInfo.Name)
Response.AddHeader("Content-Length", objFileInfo.Length.ToString())
Response.WriteFile(objFileInfo.FullName)
Response.Flush()
Response.End() End If
解决方案 »
- 在模态窗口上使用服务器控件,为什么弹出了一个新的窗口,怎样使这个新窗口不出现
- asp.net和ajax的书籍
- 关于gridview控件里面的hyperlinkfield及编辑之类的字眼在哪里设置它的链接样式??
- ASP.net板块的朋友请都进来看看!看看,看看你们烦不烦!
- 真是太奇怪了,设置页面背景颜色,竟然看不到!代码也很少,大家看看!
- 在windows forms 中,增样在一个form窗口中,打开另外一个窗口。我是在windows application 的窗口里打开另一个桌面窗口
- 菜鸟求助。。。大神帮帮忙,给跪了Orz
- 借版面问个starUML的问题
- 关于HtmlInputFile问题。
- 关于绑定的问题
- 怎样在WEB.CONFIG中添加ASP.NET v2.0的WEB服务扩展?
- vs2005不能创建WEB页面
stream = new FileStream(physicalFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
int bufSize = (int)stream.Length;
byte[] buf = new byte[bufSize]; int bytesRead = stream.Read(buf, 0, bufSize);
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename="+System.IO.Path.GetFileName(physicalFilePath));
HttpContext.Current.Response.OutputStream.Write(buf, 0, bytesRead);
HttpContext.Current.Response.End();
你说的对TO: fangxinggood
能不能写个详细一点的代码呢?假如我现在有一个从数据库里取出来的dataSet
如何写到CSV文件里并在写完以后直接下载到客户端?
你说的我已经实现了
我现在不想这么做,不要保存到服务器这一步
Dim sw As New System.IO.StringWriter()
For i = 0 To objDataSet.Tables(0).Rows.Count - 1
sw.WriteLine(objDataSet.Tables(0).Rows(i)(0).ToString + "," + objDataSet.Tables(0).Rows(i)(1).ToString + "," + objDataSet.Tables(0).Rows(i)(2).ToString)
Next i sw.Close() Response.AddHeader("Content-Disposition", "attachment; filename=test.csv")
Response.ContentType = "application/octet-stream"
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")
Response.Write(sw)
Response.End()用这个可以直接download下来
的是对的,设置 Response.ContentType ,用Response.OutputStream 内存输出的方式就可以了