日期:2014-05-20  浏览次数:20834 次

数据保存到客户端,请高手指点
问题描述:某WEB项目,客户需要将服务器数据库内的某表数据保存成dbf文件;在使用的时候,需要导出的客户端用户点击一个按钮,然后就把数据保存在其机器某个目录(比如:d:\dbffiledir),
我的思路:客户端选择需要保存的目录和文件名,点击按钮,向服务器提交需求,服务器根据接收到的参数,生成需要的数据传给SqlDataReader,然后通过Reader的循环,使用流方式写到dbf文件内;
在本机测试的时候,通过;挂在服务器后,发现,这种方法,只是把数据写在了服务器端目录(比如:d:\dbffiledir)了,而客户端根本就没有写!由于生成的文件有的很大,近乎100M,
如果生成后再下载我觉得不是一个好办法;有没有一种办法,服务器端可以边生成数据,边传向客户端,边向客户端机器下的目录内写?如果有请高手提供点儿思路!谢谢!!

------解决方案--------------------
把读出来的东西直接输出到response流里,不要生成文件了
------解决方案--------------------
你没有权限直接写客户端的。只能让用户选择目录保存。类似下载
------解决方案--------------------
孟子正解
------解决方案--------------------
web 没有这样的权限,只能像孟子所说提供下载.
或者可以自己做ActiveX或嵌入winform来做
------解决方案--------------------
直接生成文件


Response.AddHeader( "Content-Disposition ", "attachment; filename=test.csv ");
Response.ContentType = "application/ms-excel ";
Response.ContentEncoding=System.Text.Encoding.GetEncoding( "GB2312 ");
Response.Write(sw);//sw==StringBuilder 或者 StreamWriter StringWriter等
Response.End();
------解决方案--------------------
也只能做成类似下载的...
------解决方案--------------------
up