ASP.NET中的内存映射文件

时间:2010-07-23 05:40:50

标签: c# asp.net memory file-io

我不确定这是否可行......现在我创建各种.RDP文件,我的用户直接从服务器上下载,代码如下:

        System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
        Response.Clear();
        Response.AddHeader("Content-Disposition", "attachment; filename=" + fileInfo.Name);
        Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
        Response.ContentType = "Content-Type=application/x-rdp rdp;charset=ISO-8859-1";
        Response.AddHeader("Content-Length", fileInfo.Length.ToString());
        Response.WriteFile(fileInfo.FullName);
        Response.End();

因此,用户可以单击链接并获取文件链接'〜/ Download / RemoteServer1234.RDP'。

我不希望这些文件出于各种原因(维护和安全性)。有没有办法制作'假文件'并给客户端指针只下载驻留在内存中的数据?如果是这样,那么服务器如何最终知道何时删除任何已分配的内存?

1 个答案:

答案 0 :(得分:0)

只需将Response.Write()与包含RDP文件内容的StringBuilder(通过其ToString()方法)一起使用(这是一个非常简单的format)。当然,您可以在Content-disposition标头中传递任意字符串作为文件名。

以下是RDP格式的描述(您显然已经写入文件): Remote Desktop File Format