Skip to content
extrame edited this page Nov 13, 2014 · 2 revisions

文件保存

Goblet内置的Context环境内置文件保存的方法,通过调取Context的SaveFileAt可以实现,具体用法如下:

context.SaveFileAt("uploads")

首先指定要保存的路径,这个路径是基于Public(存放静态文件的位置)的相对路径

context.SaveFileAt("uploads").From("file")

指定文件的来源,文件应来着http request的一个值,From指定的是这个值的键值

context.SaveFileAt("uploads").From("file").NameBy(func(origin string){
    return time.Now().Format("2006_01_02_15_04_05_") + origin
})

如果需要,可以使用NameBy来重新制定文件的名称,例如上面这样

context.SaveFileAt("uploads").From("file").Exec()

最后只需要调用Exec执行就可以了

Exec会返回status code和error,可以用来做不同的用户反馈

Status Code

statuc code包含几个类型:

  • SAVEFILE_SUCCESS

  • 成功执行

  • SAVEFILE_STATE_DIR_ERROR

  • 在State文件夹时出错

  • SAVEFILE_CREATE_DIR_ERROR

  • 在创建文件夹时出错

  • SAVEFILE_FORMFILE_ERROR

  • 在从Form中获取文件内容时出错

  • SAVEFILE_COPY_ERROR

  • 在从Form中将文件拷贝到本地时出错

Clone this wiki locally