test.html
<h1>テストデータのアップロードページ</h1>
<form name="upload" method="POST" action="/test/upload" enctype="multipart/form-data">
<input type="file" name="imgFile" accept="image/jpeg, image/png">
<input type="submit" name="submit" value="commit">
</form>
App.go
import (
"github.com/revel/revel"
"app/app/models"
"fmt"
"os"
)
func (c App) Test() revel.Result {
return c.Render()
}
func (c App) Upload(imgFile *os.File) revel.Result {
fmt.Printf("imgFile => %v\n", imgFile)
return c.Redirect(App.Test)
}
imgFile => &{0xc0000a85a0}
### 画像の保存
– ioutil.WriteFile(path, data, permission)で画像を保存する
import (
"github.com/revel/revel"
"app/app/models"
"fmt"
"io/ioutil"
"os"
)
func (c App) Upload(imgFile *os.File) revel.Result {
fmt.Println(c.Params.Files["imgFile"][0].Filename)
name := c.Params.Files["imgFile"][0].Filename
data, e := ioutil.ReadAll(imgFile)
if e != nil {
fmt.Println("error")
}
ioutil.WriteFile("public/tmp/" + name, data, 755)
return c.Redirect(App.Test)
}

おおお、なんか久しぶりに感動した。