.net如何下载文件

.net如何下载文件,第1张

.net文件下载方式有好多种,你可以直接用链接定位到文件进行下载。 或者使用分流下载 string fileName = "aaa.txt"//客户端保存的文件名 string filePath = Server.MapPath("DownLoad/aaa.txt")//路径 //以字符流的形式下载文件 FileStream fs = new FileStream(filePath, FileMode.Open)byte[] bytes = new byte[(int)fs.Length]fs.Read(bytes, 0, bytes.Length)fs.Close()Response.ContentType = "application/octet-stream"//通知浏览碰正器下载文件碰族而不是打开 Response.AddHeader("Content-Disposition", "attachmentfilename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8))Response.BinaryWrite(bytes)Response.Flush()Response.End()也可以使用分块进笑吵弊行下载。方式很多的 追问: 这个就是我想要!!!谢谢你了

呵呵 有些时候确实遇到了你说的这种,用超升羡链接导致文件在网页中直接打开的问题。

两种方案:

1.在上传的程序中统一将文件压缩成压缩文件.rar的形式,再通过超链接,让用户下载。

2.html中有一个js方法document.execCommand可以保存当前页面的所有内容

所以你可以让用户点击超链接的时候,程序新建一个.html文件,将要下载的内容导入到这个文件中,用document.execCommand方法保存当前页面的内容,之后关闭掉这个.html,盯戚之后是否保留这个.html文件 你用程序处理下就可以了(思路)。

第一种方案就不说了

现在贴出第二种方案的实现:

//创建一个以当前时间命名的.html文件

string timenow = DateTime.Now.ToString("MM-dd-mm-ss")

string filename = timenow

string filestr = Server.MapPath(@"../downloadFile/" + CurrentUser.ID + "/" + filename + "/") + filename

DirectoryInfo di=new DirectoryInfo(filestr)

if(!di.Exists)

{

di.Create()

}

FileStream fileStream = new FileStream(filestr + ".html", FileMode.Create)

StringBuilder sb=new StringBuilder()

//用sb.Append()写入要呈现在.html文件的内容,这里省略了

//将呈现的页面内容导出给用户下载(这里默认的是导出到一个txt里,当然你可以根据下载

//的文件格式自定义导出的内容)

StreamWriter sw = new StreamWriter(fileStream, Encoding.UTF8)

sb.Append("<script>document.execCommand('saveas', 'true', 'InvoiceOut.txt')alert('导出成功!')self.close()</script>")

sw.Write(sb.ToString())

sw.Close()

Uri ur = Request.Url

string url = "http://" + ur.Authority + "/ERPB/downloadFile/"+CurrentUser.ID+"/"+timenow+"/"+ timenow + ".html"

Page.RegisterStartupScript("", "<script>downloadTxt('" + url + "')</script>吵则拍")

}

1.将下悉橡载的数据库脚本导入到本地数据库环境中。

2.修改项目中的web.config文件,将数耐乱据库连接串改成本地的配置。

3.使昌陆档用vs打开sin文件,点F5直接运行网站即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12268562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存