golang gin 框架 获取远程网络图片url 下载到本地文件夹
可以使用Go语言的标准库net/http中的Get方法获取远程图片的内容,然后将内容写入本地文件中。
示例代码如下:
package main
import (
"net/http"
"os"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
router.GET("/download", func(c *gin.Context) {
url := c.Query("url") // 获取图片的URL
// 发起HTTP GET请求获取图片内容
resp, err := http.Get(url)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
defer resp.Body.Close()
// 创建本地文件并写入图片内容
file, err := os.Create("image.jpg")
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
defer file.Close()
_, err = io.Copy(file, resp.Body)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, gin.H{"message": "Download successful"})
})
router.Run(":8080")
}
在上面的示例代码中,我们创建了一个/download的路由,可以接受一个名为url的查询参数,用于指定要下载的远程图片的URL。在路由处理函数中,我们使用http.Get方法获取远程图片的内容,并将内容写入本地文件中。最后返回一个JSON响应告诉客户端下载成功。
注意,上面的示例代码中省略了一些错误处理逻辑,实际使用时应该根据具体情况进行完善。
原文地址: https://www.cveoy.top/t/topic/m88 著作权归作者所有。请勿转载和采集!