emptygif
語言: 繁體中文

所有語言和框架

Phoenix Elixir

適用於 Phoenix 的 Elixir 程式碼片段,以空 GIF 回應對 /pixel.gif 的請求,GIF 在啟動時只解碼一次。

Phoenix Elixir

安裝
mix phx.new my_app
檔案
pixel_controller.ex
執行
mix phx.server
# lib/my_app_web/controllers/pixel_controller.ex
defmodule MyAppWeb.PixelController do
  use MyAppWeb, :controller

  # Decoded once, at compile time.
  @gif Base.decode64!("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")

  def show(conn, _params) do
    conn
    |> put_resp_content_type("image/gif", nil)
    |> put_resp_header("cache-control", "no-store")
    |> send_resp(200, @gif)
  end
end

# lib/my_app_web/router.ex - outside the :browser pipeline (no session cookie, no CSRF)
scope "/", MyAppWeb do
  get "/pixel.gif", PixelController, :show
end

我們執行了這段程式碼,並比對了它回傳的位元組。

驗證

curl -sI http://localhost:8080/pixel.gif

官方網站: Phoenix

更多 Elixir 範例