gpt4 book ai didi

go - 如何在golang中写一个带有文件的目录?

转载 作者:IT王子 更新时间:2023-10-29 02:27:16 26 4
gpt4 key购买 nike

现在,我正在尝试使用 os.Create,但在指定文件路径时出现错误。我必须将我的文件从 HTML 上传到特定目录中的文件系统。

file,err:= c.FormFile("file")
if err!=nil{
checkErr(err)
}
src, err := file.Open()
if err!=nil{
checkErr(err)
}
defer src.Close()

abs,err :=filepath.Abs("/dir1/dir2/")
if err!=nil{
checkErr(err)
}

dst,err := os.Create(abs+"/"+file.Filename)
if err !=nil{
checkErr(err)
}
defer dst.Close()
if _,err = io.Copy(dst,src); err!=nil{
checkErr(err)
}

我必须将文件上传到 dir2。请帮帮我。谢谢。

最佳答案

使用filepath.Join从目录 dir 和文件名创建路径。

为了防止写入文件系统中的任意位置,请使用 filepath.Base 清理路径.

file, err := c.FormFile("file")
if err != nil {
checkErr(err)
return
}
src, err := file.Open()
if err != nil {
checkErr(err)
return
}
defer src.Close()

dst, err := os.Create(filepath.Join(dir, filepath.Base(file.Filename))) // dir is directory where you want to save file.
if err != nil {
checkErr(err)
return
}
defer dst.Close()
if _, err = io.Copy(dst, src); err != nil {
checkErr(err)
return
}

关于go - 如何在golang中写一个带有文件的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48349927/

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