Skip to content

Commit 7948ed1

Browse files
committed
Fix multipart.go example
1 parent 12889b4 commit 7948ed1

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

examples/multipart.go

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ import (
44
"bytes"
55
"crypto/md5"
66
"fmt"
7-
"github.com/hoisie/web.go"
7+
"github.com/hoisie/web"
8+
"io"
89
)
910

10-
func Md5(b []byte) string {
11+
func Md5(r io.Reader) string {
1112
hash := md5.New()
12-
hash.Write(b)
13-
return fmt.Sprintf("%x", hash.Sum())
14-
13+
io.Copy(hash, r)
14+
return fmt.Sprintf("%x", hash.Sum(nil))
1515
}
1616

1717
var page = `
@@ -30,18 +30,28 @@ var page = `
3030
<input id="input2" type="text" name="input2"/>
3131
<br>
3232
<input type="submit" name="Submit" value="Submit"/>
33-
33+
</form>
3434
</body>
3535
</html>
3636
`
3737

3838
func index() string { return page }
3939

4040
func multipart(ctx *web.Context) string {
41+
ctx.Request.ParseMultipartForm(10 * 1024 * 1024)
42+
form := ctx.Request.MultipartForm
4143
var output bytes.Buffer
42-
output.WriteString("<p>input1: " + ctx.Params["input1"] + "</p>")
43-
output.WriteString("<p>input2: " + ctx.Params["input2"] + "</p>")
44-
output.WriteString("<p>file: " + ctx.Files["file"].Filename + " " + Md5(ctx.Files["file"].Data) + "</p>")
44+
output.WriteString("<p>input1: " + form.Value["input1"][0] + "</p>")
45+
output.WriteString("<p>input2: " + form.Value["input2"][0] + "</p>")
46+
47+
fileHeader := form.File["file"][0]
48+
filename := fileHeader.Filename
49+
file, err := fileHeader.Open()
50+
if err != nil {
51+
return err.Error()
52+
}
53+
54+
output.WriteString("<p>file: " + filename + " " + Md5(file) + "</p>")
4555
return output.String()
4656
}
4757

0 commit comments

Comments
 (0)