龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

Asp.net实现MVC处理文件的上传下载功能实例教程_C#教程(3)

时间:2014-08-30 15:22来源:网络整理 作者:网络 点击:
分享到:
而最后一个选择FileStreamResult也可以从磁盘中提取文件: public FileStreamResult StreamFileFromDisk() { string path = AppDomain.CurrentDomain.BaseDirectory + "uploads/"; string fileName

而最后一个选择FileStreamResult也可以从磁盘中提取文件:

public FileStreamResult StreamFileFromDisk() 
{ 
 string path = AppDomain.CurrentDomain.BaseDirectory + "uploads/"; 
 string fileName = "test.txt"; 
 return File(new FileStream(path + fileName, FileMode.Open), "text/plain", fileName); 
}  

三、补充

FilePathResult和FileStreamResult的区别是什么?我们又该如何取舍呢?主要的区别是FilePathResult使用HttpResponse.TransmitFile来将文件写入Http输出流。这个方法并不会在服务器内存中进行缓冲,所以这对于发送大文件是一个不错的选择。他们的区别很像DataReader和DataSet的区别。于此同时, TransmitFile还有一个bug,这可能导致文件传到客户端一半就停了,甚至无法传送。而FileStreamResult在这方面就很棒了。比如说:返回Asp.net Chart 控件在内存中生成的图表图片,而这并不需要将图片存到磁盘中.

精彩图集

赞助商链接