无法在图像代理上调整图像大小

  • 本文关键字:图像 调整 代理 go
  • 更新时间 :
  • 英文 :


我正在尝试在现有服务器上集成github.com/willnorris/imageproxy/,并在"/proxy/"路径上提供图像。我有:

package main
import (
    "log"
    "net/http"
    "github.com/gorilla/mux"
    "willnorris.com/go/imageproxy"
)
func main() {
    p := imageproxy.NewProxy(nil, nil)
    router := mux.NewRouter()
    router.NewRoute().Name("proxy").Methods("GET").PathPrefix("/proxy/").Handler(http.StripPrefix("/proxy/", p))
    server := &http.Server{
        Addr:    ":8000",
        Handler: router,
    }
    //server.Handler = p
    log.Printf("Listening at %v", server.Addr)
    log.Fatal(server.ListenAndServe())
}

当我尝试调整图像大小时,第一个数字似乎会被截断: http://127.0.0.1:8000/proxy/250x,/https:/octodex.github.com/images/codercat.jpg

返回50x50图像,而不是250x250图像。

可访问250x250图像 http://127.0.0.1:8000/proxy/2250x,/https:/octodex.github.com/images/codercat.jpg

不计量server.Handler = p的作品和图像按预期进行调整。

在调用图像代理处理程序之前,请使用http.stripprefix从请求路径中删除"/proxy"。请注意,没有尾随的/第一个参数。

router.NewRoute().Name("proxy").Methods("GET").PathPrefix("/proxy/").Handler(http.StripPrefix("/proxy", p))