【问题标题】:how to download file from webserver when url contains only file ID当url仅包含文件ID时如何从网络服务器下载文件
【发布时间】:2012-05-13 14:56:19
【问题描述】:
我们有视频剪辑存储,我们希望向最终用户提供剪辑的 url 链接,以便最终用户可以通过单击 url 开始下载剪辑。但这里的技巧是 url 链接不是存储在虚拟文件夹中的剪辑文件的直接路径,但 url 包含剪辑 ID。它可能看起来像,
www.xyz.com/clipstore/ID
当最终用户点击 url 时,服务器应在剪辑存储中搜索剪辑,处理剪辑(从一种格式转换为另一种格式)并在最终用户位置开始下载。
当 url 不是直接指向文件而是文件的 ID 时,任何人都可以指导我们服务器如何为最终用户启动下载。
我们在服务器端使用 IIS 6 / 7 和 C#。客户端基于silverlight。
【问题讨论】:
标签:
c#
silverlight
iis
download
webserver
【解决方案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;
}