Golang os.Open可以将表单文件与动态文件一起使用

时间:2017-01-14 05:09:01

标签: go

这是我第一次使用Os.Open,我想知道我可以将它用于动态图像(在不同目录中找到的图像)或者我是否必须每次都使用完整路径?例如在我的FormFile中

func ExampleFunc(w http.ResponseWriter, t *http.Request) {
     t.ParseForm()
     f, h, err := t.FormFile("file")
       if err != nil {
        print(err) }
       os.Open(h.Filename)
}

上面的函数给我一个错误,没有找到这样的文件或目录但是如果我把完整的路径放在那里,如

os.Open("/Home/myfiles/Documents/pictures/horse_riding.png")

然后图像打开,有没有办法动态获取Image路径并将其插入os.Open?我有一个FormFile,它获取有关传入文件的信息,但不是完整路径。

1 个答案:

答案 0 :(得分:1)

在文件服务器(例如this one)中,您可以将root_folder连接到从表单获取的文件/路径。

filepath := path.Join((root_folder), h.Filename)

这样,您可以打开某个根文件夹中的文件,而不是系统上的任何文件(根本不安全)。