烂翻译系列之Iris——API示例之上传文件
Upload files 上传文件
Single file 单个文件
const maxSize = 8 * iris.MB func main() { app := iris.Default() app.Post("/upload", func(ctx iris.Context) { // Set a lower memory limit for multipart forms (default is 32 MiB) ctx.SetMaxRequestBodySize(maxSize) // OR // app.Use(iris.LimitRequestBodySize(maxSize)) // OR // OR iris.WithPostMaxMemory(maxSize) // single file file, fileHeader, err:= ctx.FormFile("file") if err != nil { ctx.StopWithError(iris.StatusBadRequest, err) return } // Upload the file to specific destination. dest := filepath.Join("./uploads", fileHeader.Filename) ctx.SaveFormFile(file, dest) ctx.Writef("File: %s uploaded!", fileHeader.Filename) }) app.Listen(":8080") }
How to curl:
使用curl:
curl -X POST http://localhost:8080/upload \ -F "file=@/Users/kataras/test.zip" \ -H "Content-Type: multipart/form-data"
Multiple files 多个文件
See the detail example code.
细节请看示例代码。
func main() { app := iris.Default() app.Post("/upload", func(ctx iris.Context) { files, n, err := ctx.UploadFormFiles("./uploads") if err != nil { ctx.StopWithStatus(iris.StatusInternalServerError) return } ctx.Writef("%d files of %d total size uploaded!", len(files), n)) }) app.Listen(":8080", iris.WithPostMaxMemory(8 * iris.MB)) }
How to curl:
使用curl:
curl -X POST http://localhost:8080/upload \ -F "upload[]=@/Users/kataras/test1.zip" \ -F "upload[]=@/Users/kataras/test2.zip" \ -H "Content-Type: multipart/form-data"
作者:菜鸟吊思
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
施主您好,贫僧接受供养,施主一粒米,大如须弥山!南无阿弥陀佛!
您学习别人出学费,只需先扫红包码,后扫支付码!

浙公网安备 33010602011771号