您可以从App Engine上的文件中读取文件,也可以从计算机上运行的Go应用程序中的文件中读取文件。
注意事项:
您应该使用 相对 文件路径,而不是绝对路径。工作目录是应用程序的根文件夹(
app.yaml
文件所在的位置)。Go代码只能读取属于 应用程序 文件的文件,因此,如果要从Go代码读取文件,则该文件不得与静态文件模式匹配(或者如果它也必须作为静态文件提供,则为
application_readable
选件)必须在包含/应用于文件的静态文件处理程序中指定,详细信息。
后者在“
应用程序配置”页面的“
静态文件处理程序”部分中进行了详细说明。引用相关部分:
为了提高效率,App
Engine与应用程序文件分开存储和提供静态文件。静态文件在应用程序的文件系统中不可用。如果您有需要由应用程序代码读取的数据文件,则这些数据文件必须是应用程序文件,并且不能与静态文件模式匹配。
因此,假设您
data在应用的根目录(位于旁边
app.yaml)中有一个文件夹,并且其中有一个文件
list.txt。您可以这样阅读其内容:
if content, err := ioutil.Readfile("data/list.txt"); err != nil { // Failed to read file, handle error} else { // Success, do something with content}或者,如果您想要/需要io.Reader(与许多其他
os.File实现
io.Reader一起实现):
f, err := os.Open("data/list.txt") // For read access.if err != nil { // Failed to open file, log / handle error return}defer f.Close()// Here you may read from f


