MVC 中的FileResult使用
做项目时遇到一需求:要求用户上传文件到服务器后,其它用户能下载该文件,但为安全着想,需保证文件在服务器上的地址路径隐藏起来,不暴露。按照原来思路,在网页地址栏中直接访问文件所在路径即可访问或下载。但文件所在路径也被暴露,不符合要求。在查看资料后发现MVC中有个叫FileResult的。研究后发现能实现此功能。贴上代码:
public class TestController:Controller
{
public FileResult TestResult(string filePath) //参数只提供文件名即可,在代码中构造文件路径。
{
var path= Server.MapPath("~/TestDirectory"+filePath);//构建文件路径。
//此处判断文件是否存在。
//若不存在,可创建一个新文件替代。文件的内容可写上给用户的友好提示,比如:你查找的文件不存在。请核实!
return File(path, "");//第一个参数为文件的路径;第二个参数为文件的MIME类型;
}
}
初来乍到,请多指正!谢谢!