使用HttpContext将多个文件发送到客户端

时间:2016-09-04 01:43:21

标签: asp.net http f#

我读过这篇关于在F#中实现asp.net HTTP Handler的博客文章

http://codinglight.blogspot.ca/2010/03/writing-your-own-httphandler-in-f.html

我成功完成并将HTML文件发送回客户端。现在,我想做一些不太基础的事情,并发送一个更复杂的HTML文件,其中嵌入了样式和图像。所以我发送了一个包含背景图像属性的HTML文件。问题是浏览器没有手头的图像来显示它。现在我无法弄清楚如何将另一个文件发送到客户端。

博客文章并没有给我留下太多关于如何继续的额外信息,而且我对如何使用HTTP与浏览器进行交互了解不足。所以,我所拥有的只是和HTTP上下文对象,它有很多,但我不知道如何正确使用它。

我提出的最好的是以下代码。它发送HTML但是它刚刚被转储到页面上的图像。

open System.Web;
open System.IO;
open System;

type HttpHandler() = 
    let path = """c:\users\---\documents\visual studio 2015\Projects\Highnote\Highnote\"""
    let imgHeader =  """HTTP/1.1 200 OK\r\n
                        Content-Type: image/gif\r\n
                        Content-Length: [length in bytes of the image]\r\n
                        \r\n"""
    interface IHttpHandler with
        member this.ProcessRequest (context:HttpContext) =
            let response = context.Response
            let request = context.Request

            response.TransmitFile(path + "index.html")
            //response.Clear()

            response.AppendHeader("ImageHeader", imgHeader)
            response.TransmitFile(path + "photo.jpg")

            response.End()
        member this.IsReusable with get() = true

我如何使用我拥有的资源模拟将其他文件和目录发送到浏览器?

0 个答案:

没有答案