`
justdoithz
  • 浏览: 49602 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

HttpResponse..::.OutputStream 属性

阅读更多

启用到输出 HTTP 内容主体的二进制输出。

示例

<!---->

下面的示例调用 Save 方法将一个 Bitmap 对象保存到 OutputStream 属性中,并将图像转换为 JPEG 格式。然后,代码调用 Bitmap 对象和 Graphics 对象的 Dispose 方法,释放它们正在使用的资源。最后,代码调用 Flush 方法将响应的内容发送到请求客户端。

有关完整示例,请参见 HttpResponse 类。

Visual Basic
<%@ Page Language="VB" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<%@ import Namespace="System.Drawing.Drawing2D" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

   Private Sub Page_Load(sender As Object, e As EventArgs)
      ' Set the page's content type to JPEG files
      ' and clear all response headers.
      Response.ContentType = "image/jpeg"
      Response.Clear()

      ' Buffer response so that page is sent
      ' after processing is complete.
      Response.BufferOutput = True

      ' Create a font style.
      Dim rectangleFont As New Font( _
          "Arial", 10, FontStyle.Bold)

      ' Create integer variables.
      Dim height As Integer = 100
      Dim width As Integer = 200

      ' Create a random number generator and create
      ' variable values based on it.
      Dim r As New Random()
      Dim x As Integer = r.Next(75)
      Dim a As Integer = r.Next(155)
      Dim x1 As Integer = r.Next(100)

      ' Create a bitmap and use it to create a
      ' Graphics object.
      Dim bmp As New Bitmap( _
          width, height, PixelFormat.Format24bppRgb)
      Dim g As Graphics = Graphics.FromImage(bmp)

      g.SmoothingMode = SmoothingMode.AntiAlias
      g.Clear(Color.LightGray)

      ' Use the Graphics object to draw three rectangles.
      g.DrawRectangle(Pens.White, 1, 1, width - 3, height - 3)
      g.DrawRectangle(Pens.Aquamarine, 2, 2, width - 3, height - 3)
      g.DrawRectangle(Pens.Black, 0, 0, width, height)

      ' Use the Graphics object to write a string
      ' on the rectangles.
      g.DrawString("ASP.NET Samples", rectangleFont, SystemBrushes.WindowText, New PointF(10, 40))

      ' Apply color to two of the rectangles.
      g.FillRectangle( _
          New SolidBrush( _
              Color.FromArgb(a, 255, 128, 255)), _
          x, 20, 100, 50)

      g.FillRectangle( _
          New LinearGradientBrush( _
              New Point(x, 10), _
              New Point(x1 + 75, 50 + 30), _
              Color.FromArgb(128, 0, 0, 128), _
              Color.FromArgb(255, 255, 255, 240)), _
          x1, 50, 75, 30)

      ' Save the bitmap to the response stream and
      ' convert it to JPEG format.
      bmp.Save(Response.OutputStream, ImageFormat.Jpeg)

      ' Release memory used by the Graphics object
      ' and the bitmap.
      g.Dispose()
      bmp.Dispose()

      ' Send the output to the client.
      Response.Flush()
   End Sub 'Page_Load

</script>
<html  >
<head>
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    </form>
</body>
</html>

<%@ Page Language="C#" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<%@ import Namespace="System.Drawing.Drawing2D" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    private void Page_Load(object sender, EventArgs e)
    {
        // Set the page's content type to JPEG files
        // and clear all response headers.
        Response.ContentType = "image/jpeg";
        Response.Clear();

        // Buffer response so that page is sent
        // after processing is complete.
        Response.BufferOutput = true;

        // Create a font style.
        Font rectangleFont = new Font(
            "Arial", 10, FontStyle.Bold);

        // Create integer variables.
        int height = 100;
        int width = 200;

        // Create a random number generator and create
        // variable values based on it.
        Random r = new Random();
        int x = r.Next(75);
        int a = r.Next(155);
        int x1 = r.Next(100);

        // Create a bitmap and use it to create a
        // Graphics object.
        Bitmap bmp = new Bitmap(
            width, height, PixelFormat.Format24bppRgb);
        Graphics g = Graphics.FromImage(bmp);

        g.SmoothingMode = SmoothingMode.AntiAlias;
        g.Clear(Color.LightGray);

        // Use the Graphics object to draw three rectangles.
        g.DrawRectangle(Pens.White, 1, 1, width-3, height-3);
        g.DrawRectangle(Pens.Aquamarine, 2, 2, width-3, height-3);
        g.DrawRectangle(Pens.Black, 0, 0, width, height);

        // Use the Graphics object to write a string
        // on the rectangles.
        g.DrawString(
            "ASP.NET Samples", rectangleFont,
            SystemBrushes.WindowText, new PointF(10, 40));

        // Apply color to two of the rectangles.
        g.FillRectangle(
            new SolidBrush(
                Color.FromArgb(a, 255, 128, 255)),
            x, 20, 100, 50);

        g.FillRectangle(
            new LinearGradientBrush(
                new Point(x, 10),
                new Point(x1 + 75, 50 + 30),
                Color.FromArgb(128, 0, 0, 128),
                Color.FromArgb(255, 255, 255, 240)),
            x1, 50, 75, 30);

        // Save the bitmap to the response stream and
        // convert it to JPEG format.
        bmp.Save(Response.OutputStream, ImageFormat.Jpeg);

        // Release memory used by the Graphics object
        // and the bitmap.
        g.Dispose();
        bmp.Dispose();

        // Send the output to the client.
        Response.Flush();
    }

</script>
<html  >
<head>
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    </form>
</body>
</html>
分享到:
评论

相关推荐

    http传送信息需要的包.

    3. **java.io.OutputStream**: 当需要向服务器发送数据时,可以通过HttpURLConnection的getOutputStream()方法获取OutputStream,然后写入POST数据。 4. **java.nio.charset.Charset**: Java的字符编码工具类,用于...

    HttpResponse的Output与OutputStream、Filter关系与区别介绍

    本文将详细介绍HttpResponse对象中的Output、OutputStream属性和Filter属性,解释它们之间的关系以及它们之间的区别。 首先,HttpResponse对象是***中用于处理响应的服务器端对象。它提供了多种属性和方法,以允许...

    android简单联网

    OutputStream os = connection.getOutputStream(); os.write(params.getBytes()); // 参数以字符串形式写入 os.flush(); os.close(); } ``` 5. 获取响应:处理服务器返回的数据,如状态码、响应头和响应体。 ``...

    Android下载文件与上传文件的代码例子

    - `java.io.InputStream` 和 `java.io.OutputStream`:用于读取和写入数据。 - `org.apache.http.entity.mime.MultipartEntityBuilder`:处理多部分表单数据,用于文件上传。 **注意点** - 文件操作需在后台线程...

    asp.net 的第七章内容

    1. `OutputStream`:这个属性提供了一个流,用于向客户端发送未编码的数据。开发者可以直接写入字节,实现自定义的输出内容。 2. `Write`方法:此方法用于向HttpResponse的输出流中写入文本,可以将字符串或字节...

    asp.net 导出功能实现(xls,csv格式)

    5. **写入数据**:直接向`HttpResponse.OutputStream`写入数据。对于CSV,可以逐行写入,每行数据以换行符分隔;对于XLS,可以使用第三方库如EPPlus或NPOI来创建Excel文件,然后将文件内容写入输出流。 6. **结束...

    aspx jqgrid 分页、excel导出最佳实践

    jqGrid的分页功能是通过设置`pager`属性和相关的分页参数来实现的。在ASP.NET页面中,首先需要在HTML部分创建一个jqGrid,并指定分页区域: ```html &lt;table id="grid"&gt;&lt;/table&gt; &lt;div id="pager"&gt;&lt;/div&gt; ``` 然后,...

    VS-C#将GridView导出为xls文件.rar

    - 创建Response:在服务器端,创建一个HttpResponse对象,设置其ContentType为"application/vnd.ms-excel",告诉浏览器这是一个Excel文件,并设置Content-Disposition属性为"attachment",这样浏览器会将文件下载而...

    asp.net图片水印效果

    6. **响应客户端**:设置HttpResponse对象的ContentType属性为图片的MIME类型,如"image/jpeg"或"image/png",然后使用HttpResponse.OutputStream将处理后的图像流写入响应。 在整个过程中,需要注意处理异常和资源...

    asp.net Excel

    在ASP.NET中,你可以使用HttpResponse对象的OutputStream属性直接将Excel数据流发送到客户端浏览器。首先,设置响应的MIME类型为“application/vnd.ms-excel”,然后将Excel内容写入OutputStream,最后调用...

    .net 文件下载源码

    2. **响应处理**:在ASP.NET中,服务器端代码需要创建一个`HttpResponse`对象来构建并发送响应。响应通常包含状态码(如200表示成功)、响应头(如Content-Type指定文件类型,Content-Disposition设置为attachment可...

    ASP.NET添加水印

    可以使用`Image.Save`方法将图片保存到内存流,然后设置HTTP响应的`ContentType`和`ContentLength`,最后将内存流写入`HttpResponse.OutputStream`。 6. **Ajax交互** 压缩包文件名称列表中提到的"Ajax图片加水印...

    用C#在ASP.net做的,下载文件

    1. **设置响应头**:在ASP.NET中,我们首先需要设置HttpResponse对象的Header属性,指定文件的MIME类型、大小、以及文件名。例如: ```csharp Response.ContentType = "application/octet-stream"; Response.Add...

    文件上传下载

    1. **Response对象**:ASP.NET中的`HttpResponse`对象是用于向客户端发送响应的关键。在文件下载场景中,我们需要设置合适的HTTP头信息,如`Content-Disposition`(指定附件名称)和`Content-Type`(指定文件类型)...

    Android提交数据到服务器端

    3. **设置请求属性**:如Content-Type,指定数据格式(如`application/x-www-form-urlencoded`)。 4. **写入数据**:通过`OutputStream`写入要提交的数据。 5. **发送请求**:调用`connect()`方法建立连接。 6. **...

    ASP.NET_上传和下载

    3. **流控制**: 使用 `BinaryReader` 或 `FileStream` 读取服务器上的文件,并通过 `Response.OutputStream` 将文件内容流化到客户端。注意控制流的大小,避免内存溢出。 4. **安全性与权限**: 下载文件时,确保...

    【ASP.NET编程知识】Aspnetpager对GridView分页并顺利导出Excel.docx

    4. 将工作簿写入HttpResponse的OutputStream。 5. 强制浏览器下载文件,通过HttpResponse的End()方法结束响应。 通过以上步骤,ASP.NET开发者可以利用Aspnetpager控件实现GridView的高效分页,并结合其他工具或库,...

    asp.net生成饼图

    最后,调用`res.OutputStream.Write`方法将饼图的位图数据发送到客户端。 总结来说,ASP.NET生成饼图的过程包括数据准备、定义颜色策略、创建和绘制饼图切片以及将结果输出到网页。这需要对.NET框架的图形处理和...

    ASP,NET源码——[上传下载]桃源网络硬盘.Net 5.4.zip

    - **Response对象**:通过设置HttpResponse对象的Header属性,可以提供文件下载,例如设置Content-Disposition属性来指定文件名,Content-Type属性定义文件类型。 - **流操作**:读取服务器上文件内容,并通过...

Global site tag (gtag.js) - Google Analytics