我正在尝试在现有服务器上集成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))