为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Golang Gin 检索发布的文件

使用 Golang Gin 检索发布的文件

Go
墨色风雨 2021-10-25 20:09:50
我现在使用 Golang 框架 Gin 一段时间没有问题,但我现在需要处理发布到我的 API 的图像。我大概可以弄清楚如何处理验证、调整大小和存储图像,但现在我只是在努力弄清楚如何获取发布的文件并将其分配给一个变量。我查看了 Gin API 文档,但没有任何内容让我感到意外。我将 API 卷曲如下(这可能是错误的?)...$ time curl -X POST --form upload=@ss.png -H "Content-Type: application/json"  --cookie 'session=23423v243v25c08efb5805a09b5f288329003' "http://127.0.0.1:8080/v1.0/icon" --form data='{"json_name":"test json name","title":"Test","url":"http://sometest.com"}'
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

不。有关推理,请参阅以下常见问题解答:


常见问题解答:我可以停止这些关于我未使用的变量/导入的投诉吗?


未使用的变量的存在可能表示存在错误,而未使用的导入只会减慢编译速度,随着时间的推移,随着程序积累代码和程序员,这种影响会变得很大。由于这些原因,Go 拒绝使用未使用的变量或导入来编译程序,用短期的便利换取长期的构建速度和程序清晰度。


尽管如此,在开发代码时,临时创建这些情况是很常见的,并且在程序编译之前必须编辑它们可能很烦人。


有些人要求提供一个编译器选项来关闭这些检查或至少将它们减少为警告。但是,还没有添加这样的选项,因为编译器选项不应该影响语言的语义,并且因为 Go 编译器不报告警告,只报告阻止编译的错误。


没有警告有两个原因。首先,如果值得抱怨,就值得在代码中修复。(如果它不值得修复,那就不值得一提了。)第二,让编译器生成警告鼓励实现警告可能使编译嘈杂的弱情况,掩盖应该修复的实际错误。


不过,解决这种情况很容易。使用空白标识符让未使用的东西在您开发时保持不变。


您可以做的是在暂时想要排除某些内容时使用空白标识符,例如


import (

    "fmt"

    _ "time"  // This will make the compiler stop complaining

)

如今,大多数 Go 程序员使用goimports工具,该工具会自动重写 Go 源文件以获得正确的导入,从而消除了实践中未使用的导入问题。这个程序很容易连接到大多数编辑器,以便在编写 Go 源文件时自动运行。


查看完整回答
反对 回复 2021-10-25
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

尝试从 gin.Context 获取 HTTP 请求并从其 Body 属性中读取:


func(c *gin.Context) {

    decoder := json.NewDecoder(c.Request.Body)

    var t struct {

      Name string `json:"json_name"`

      Title string `json:"title"`

      Url string `json:"url"`

    }

    err := decoder.Decode(&t)

    if err != nil {

        panic()

    }

    log.Println(t)

}


查看完整回答
反对 回复 2021-10-25
  • 2 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信