zoukankan      html  css  js  c++  java
  • 寫入及設定著作權處理常式

    • 在 %systemroot%\inetpub\wwwroot 目錄下建立一個名為 'pictures' 的目錄。在提升權限的命令殼層中執行下列命令:
      md %systemdrive%\inetpub\wwwroot\pictures
    • 將一些數位圖片 (此逐步解說假設這些圖片為 JPG 檔案) 複製到新的 pictures 目錄。如果您手上沒有任何 JPG 檔案,請使用下列圖片:http://wallpaper.iis7.org/gallery/iis7-highlight.jpg
      注意:因為 Windows Server 2008 上設定的高 Internet Explorer 安全性,您可能會看見一個安全性對話方塊,說明該網站已封鎖。若要下載 IIS 7.0 底色圖案,請將 wallpaper.iis7.org 新增到信任的網站清單中。
    • 使用 appcmd 命令列工具建立一個應用程式
      %windir%\system32\inetsrv\appcmd add app -site.name:"Default Web Site"
      -path:/pictures -physicalPath:%systemdrive%\inetpub\wwwroot\pictures
    • 在 pictures 目錄下建立 App_Code 目錄:
      md %systemdrive%\inetpub\wwwroot\pictures\App_Code
    • 開啟 [記事本] 並將以下程式碼貼到其中。

      using System;
      using System.Web;
      using System.Drawing;
      using System.Drawing.Imaging;
               
      namespace IIS7Demos
      {
          public class imageCopyrightHandler :IHttpHandler
          {
              public void ProcessRequest(HttpContext context)
              {
                  string message = "Copyright © IIS 7.0 Team";
                  try            {
                      string languageHeader;
               languageHeader = context.Request.Headers["Accept-Language"].Substring(0,2).ToUpper();
                      switch (languageHeader)
                      {
                          case ("DE"):
                              message = "IIS 7.0 Team - Alle Rechte vorbehalten";
                              break;
                          case ("ES"):
                              message = "Marca Registrada IIS 7.0 Team";
                              break;
                          default:
                              break;
                      }
                  }
                  catch
                 {
                      // if something fails, e.g. no Language-Accept header, we go with the english message
                 }
                  InsertCopyrightMessage (   context,
                                  message,
                                  "yellow"                           
                              );
              }
              void InsertCopyrightMessage(
                                  HttpContext context,
                                  string message,
                                  string color
                               )
              {
                  try
                  {
                      // get physical path of request
                      string strPath = context.Request.PhysicalPath;
                      // load as bitmap
                      Bitmap jpgFile = new Bitmap(strPath);
                      // add copyright message
                      Graphics g = Graphics.FromImage(jpgFile);
                      Font f = new Font("Arial", 20, GraphicsUnit.Pixel);
                      SolidBrush sb = new SolidBrush(Color.FromName(color));
                      // write copyright message to bitmap
                      g.DrawString(   message,
                                      f,
                                      sb,
                                      5,
                                      jpgFile.Height - f.Height - 5
                                  );
                      f.Dispose();
                      g.Dispose();

                      // save it to response stream
                      jpgFile.Save(   context.Response.OutputStream,
                                      System.Drawing.Imaging.ImageFormat.Jpeg
                                  );
                      jpgFile.Dispose();
                  }
                  catch (Exception e)
                  {
                      context.Response.Write(e.Message);
                  }
              }
               
              public bool IsReusable
              {
                  get { return true; }
              }
          }
      }


      Save the file as %systemdrive%\inetpub\wwwroot\pictures\App_Code\imageCopyrightHandler.cs
    • 建立處理常式,在要求 JPG 檔案時執行此程式碼:
      %windir%\system32\inetsrv\appcmd set config /section:system.web.Server/handlers
      /+[name='imageCopyrightHandler-Integrated',path='*.jpg',
      verb='GET,HEAD',type='IIS7Demos.imageCopyrightHandler',preCondition='integratedMode']
    • 我們也必須啟用目錄瀏覽功能,因為目前沒有預設的文件:
      %windir%\system32\inetsrv\appcmd set config "Default Web Site/pictures"
      -section:directoryBrowse -enabled:true
    • 在 Internet Explorer 網址列中輸入以下網址,以瀏覽到圖片應用程式:http://localhost/picures。按一下 IIS 7.0 目錄清單中的 JPG 檔案連結。您應該會看見已插入著作權訊息的 JPG 影像。
    • 查看程式碼。您看到著作權訊息會根據瀏覽器傳送的 "Accept-Language" 標頭而不同。如果您安裝的是德國版的 Microsoft Server 2008,著作權訊息會是 "IIS 7.0 Team - Alle Rechte vorbehalten";如果您安裝西班牙文版,則是 "Marca Registrada IIS 7.0 Team"。若安裝其他所有語言,著作權訊息將是 "Copyright © IIS 7.0 Team"。測試此程式碼的一個方式是變更 Internet Explorer 傳送的 "Accept-Language" 標頭:
      1. 開啟 [Internet Explorer]。
      2. 開啟 [工具] 功能表並按一下 [網際網路選項]。
      3. 按一下 [語言] 按鈕。
      4. 按一下 [新增…] 按鈕,並為西班牙文新增 "es",為德文新增 "de"。
      5. 使用 [上移] 按鈕將新語言移至清單頂端。
      6. 瀏覽到 http://localhost/pictures/%3cyour_jpg_file%3e.jpg。著作權訊息已變更為您所設定的語言。
      7. 不要忘記回到 [語言] 對話方塊重設語言,否則之後可能會獲得西班牙文或德文網頁。
  • 相关阅读:
    吃货联盟点单系统
    新闻发布系统进程汇报
    jsp九大内置对象响应类型
    jsp get与post请求乱码问题
    jsp第一章 动态网页开发基础
    C# MD5加密
    调用存储过程
    JSONObject跟JSONArray来自不同的包会有不同的功能
    upm配置文件
    iuap
  • 原文地址:https://www.cnblogs.com/ewyb/p/1982433.html
Copyright © 2011-2022 走看看