gpt4 book ai didi

图像的 Golang 路径和上传得到混合结果

转载 作者:数据小太阳 更新时间:2023-10-29 03:26:04 25 4
gpt4 key购买 nike

我已经成功地将图像上传到我的 ImageStore 帐户,但是我不得不对每个文件路径进行硬编码。我的问题是我的图像位于我的 GoPath 之外,有什么方法可以在不对图像进行硬编码的情况下获取图像的实际目录?例如

GoPath = "/Users/IH/Documents/go"

实际图片路径 = "/Users/IH/Documents/pictures/horse_PNG2538.png"

我得到的路径 = "/Users/IH/Documents/go/src"

我需要获取图像的正确路径,因为用户将能够上传他们的图像,显​​然他们都将有不同的图像路径。这是我的代码

myfile, handler, err := r.FormFile("uploadImage")
if err != nil {
fmt.Println(err)

return
}
defer myfile.Close()


pwd, err := os.Getwd()
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println(pwd)

file,err := os.Open(pwd + handler.Filename)

defer file.Close()
if err != nil {
fmt.Printf("err opening file: %s", err)
}

密码给了我路径 /Users/IH/Documents/go/src 这当然给了我一个错误,因为在那里找不到图像。例如,如果我硬编码正确的图像地址,那么它会上传

file,err := os.Open("/Users/IH/Documents/pictures/horse_PNG2538.png")

然后图像被上传。同样,这张图片来自此目录 /Users/IH/Documents/pictures/ 我如何在不对图片进行硬编码的情况下在图片上传时发现该目录?任何建议都很好

最佳答案

“os/user”包允许您像这样确定当前用户的目录:

package main

import (
"fmt"
"log"
"os/user"
)

func main() {
usr, err := user.Current()
if err != nil {
log.Fatal(err)
}

fmt.Println(usr.HomeDir)
}

关于图像的 Golang 路径和上传得到混合结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41556858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com