gpt4 book ai didi

go - http.ServeFile 获取不到静态源,但是命令运行可以获取

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

我使用Intelj IDEA开发golang,但是当我使用调试构建我的项目时,当调试到这一行时 http.ServeFile(w, r, "./static/html/login.html"),我得到 404 not found,但是在命令运行中,我可以得到这个静态页面。

最佳答案

路径 "./static/html/login.html" 是相对路径。当您使用 go run ... 时,您当前可能位于该相对路径正确解析的目录中。 IntelliJ 二进制文件可能在与您的 go 源代码不同的目录中执行,导致此相对路径不正确。

您可以在调用 ServeFile(...) 时使用绝对路径,将您的 IDE 配置为在作为工作目录的源目录中执行您的 go 命令,或者允许您的应用程序配置为使用任何给定路径作为静态内容的根目录。前两个选项将暂时解决您的问题。当您必须发送二进制文件时,它很容易受到您现在遇到的相同问题的影响。第三个选项将允许您的应用程序处理任何环境,因为路径可以由用户明确定义。

关于go - http.ServeFile 获取不到静态源,但是命令运行可以获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40954896/

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