-
Notifications
You must be signed in to change notification settings - Fork 1
保存文件
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,可以用来做不同的用户反馈
statuc code包含几个类型:
-
SAVEFILE_SUCCESS
-
成功执行
-
SAVEFILE_STATE_DIR_ERROR
-
在State文件夹时出错
-
SAVEFILE_CREATE_DIR_ERROR
-
在创建文件夹时出错
-
SAVEFILE_FORMFILE_ERROR
-
在从Form中获取文件内容时出错
-
SAVEFILE_COPY_ERROR
-
在从Form中将文件拷贝到本地时出错