当url仅包含文件ID时,如何从webserver下载文件

时间:2012-05-04 03:51:55

标签: c# silverlight iis download webserver

我们有视频剪辑存储空间,我们希望为最终用户提供剪辑的网址链接,以便最终用户可以通过点击网址开始下载剪辑。但是这里的技巧是url link不是存储在虚拟文件夹上的剪辑文件的直接路径,但是url包含剪辑ID。它可能看起来像,

           www.xyz.com/clipstore/ID

当最终用户点击网址时,服务器应搜索剪辑存储中的剪辑,处理剪辑(从一种格式转换为其他格式)并在最终用户位置开始下载。     任何人都可以指导我们当url没有直接指向文件而是ID的时候,服务器如何为最终用户启动下载。     我们在服务器端使用IIS 6/7,C#。客户端基于Silverlight。

1 个答案:

答案 0 :(得分:1)

在ASP.net MVC中可以并且非常直接。 为了举例,我将mime类型硬编码为“image / png”,但我应该根据文件类型。

 public ActionResult clipstore(string id)
    {
        var path = GetFilePathByID(id);

        StreamReader reader = new StreamReader(path);

        var fileBytes = System.IO.File.ReadAllBytes(path);            

        FileContentResult file = File(fileBytes, "image/png");

        return file;
    }