小编Rei*_*Sam的帖子

使用fmt.Printf打印URL的行为非常奇怪

如果我将数据库中的URL保存为

https://xxx.amazonaws.com/sub%2Fsub1/1495771021869-3sx5ims88vu-12f63aaa7d278435e1800486b31f9cc7/xxx.jpg

http.ResponseWriter以下列格式返回

https://xxx.amazonaws.com/sub!F(MISSING)sub1/1495771021869-3sx5ims88vu-12f63aaa7d278435e1800486b31f9cc7/xxx.jpg

在上面的网址中你可以看到%2F被替换为!F(MISSING)

有人可以帮助解决这个问题

以下是代码片段``rs.WriteHeader(retObj.HttpStatus)

jsonStr, res := ConvObjectToJSON(retObj)
if res != nil {
    Logger(ctx, cnst.LogError, "In writeReturnError error in ConvObjectToJSON: %v Original object:%v",
        res.GetMessageWDetails(), retObj)
    rs.WriteHeader(http.StatusInternalServerError)
    return
}

var consoleLog *log.Logger = log.New(os.Stdout, cnst.LogPrefix, log.Ldate|log.Ltime)
consoleLog.Print(jsonStr)

cnt, err := fmt.Fprintf(rs, jsonStr)
if nil == err && 0 < cnt {
    rs.Header().Set("Content-Type", "application/json")
} else {
    Logger(ctx, cnst.LogError, "In writeReturnError error in fmt.Fprintf: %v Original JSON:%v",
        err.Error(), jsonStr)
    rs.WriteHeader(http.StatusInternalServerError)
}
Run Code Online (Sandbox Code Playgroud)

``

我对fmt.Fprintf有疑问

url go

1
推荐指数
1
解决办法
64
查看次数

标签 统计

go ×1

url ×1