dryl34156 2017-12-11 03:56
浏览 47
已采纳

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

I am trying to integrate github.com/willnorris/imageproxy/ on an existing server and have the images served on "/proxy/" path. I have:

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())
}

When I try to resize an image, the first digit seems to get cutoff: http://127.0.0.1:8000/proxy/250x,/https:/octodex.github.com/images/codercat.jpg

returns a 50x50 image rather than a 250x250 image.

A 250x250 image is accessable by http://127.0.0.1:8000/proxy/2250x,/https:/octodex.github.com/images/codercat.jpg

Uncommenting server.Handler = p works and images are resized as expected.

  • 写回答

1条回答 默认 最新

  • douwen8424 2017-12-11 05:33
    关注

    Use http.StripPrefix to remove "/proxy" from the request path before invoking the image proxy handler. Note that there's not a trailing / on the first argument to StripPrefix.

    router.NewRoute().Name("proxy").Methods("GET").PathPrefix("/proxy/").Handler(http.StripPrefix("/proxy", p))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路