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

“http.FileServer(http.Dir...))”不能在单独的包中工作

“http.FileServer(http.Dir...))”不能在单独的包中工作

Go
HUWWW 2023-03-29 15:57:07
drop procedure if exists PESSOA_TESTE;delimiter $$create procedure PESSOA_TESTE(IN psaida int)beginSET psaida = 2;select psaida;end$$代码:   var GerenciaBD GERENCIABD    var PontoExecucao int    GerenciaBD.F_GERENCIABD_ABRIR_CONEXAO_MYSQL()    GerenciaBD.DataBase.QueryRowContext(context.TODO(),"CALL PESSOA_TESTE(?)", PontoExecucao).Scan(&PontoExecucao)    println(PontoExecucao)
查看完整描述

2 回答

?
慕田峪4524236

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

请记住,Go 是一种编译语言;程序所做的大部分事情都发生在运行时。

特别是,在这种情况下,调用http.Dir()发生在运行时,这意味着路径是在运行时评估的。

因为您提供的路径是相对的,所以它是相对于您运行应用程序的工作目录的。源代码所在的目录与此处无关。

在一次调用中,http.Dir()您给出了 argument ./web/views,而在另一次调用中,您给出了 argument ./views。事实证明,基于您执行程序的目录的正确路径是./web/views. 当你用错误的路径执行程序时,你会得到404 page not found错误,因为指定的路径在你的工作目录中不存在。


查看完整回答
反对 回复 2023-03-29
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

您提供的路径http.Dir是相对于应用程序的运行位置(它的工作目录,在您的情况下是您发布的目录树的根目录)而不是相对于文件所在的位置.go。只需更改路径即可./web/views,它应该可以工作。

在您的情况下,返回了,因为目录树的顶层404 Not Found没有文件夹,因此没有要提供的文件。views


查看完整回答
反对 回复 2023-03-29
  • 2 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

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