iris当中文件上传

未匹配的标注
    //5.文件上传
    app.Post("/admin/update/avatar/{adminId}", func(context context.Context) {
        adminId := context.Params().Get("adminId")
        iris.New().Logger().Info(adminId)
        //获取上传文件的信息
        file, info, err := context.FormFile("file")
        if err != nil {
            iris.New().Logger().Info(err.Error())
            context.JSON(iris.Map{
                "status":  "0",
                "type":    "0",
                "message": "文件上传失败!",
            })
            return
        }
        //最后要关闭文件
        defer file.Close()

        //获取文件名称`
        fname := info.Filename
        //把文件上传到哪里
        out, err := os.OpenFile("./uploads/"+fname, os.O_WRONLY|os.O_CREATE, 0666)
        if err != nil {
            iris.New().Logger().Info(err.Error())
            context.JSON(iris.Map{
                "status":  "0",
                "type":    "0",
                "message": "文件位置打开失败!",
            })
            return
        }

        //我们打印一下文件路径
        iris.New().Logger().Info("文件路径:"+out.Name())
        //最终也不要忘记关闭上传之后的文件流
        defer out.Close()

        //拷贝文件到指定位置
        _, err = io.Copy(out, file)
        if err != nil {
            context.JSON(iris.Map{
                "status":  "0",
                "type":    "0",
                "message": "文件上传彻底失败!",
            })
            return
        }else {
            context.JSON(iris.Map{
                "status":  "1",
                "type":    "1",
                "message": "文件上传成功!",
            })
        }

        //上传成功之后去修改数据库响应的位置即可!

    })

只是实现了图片的上传 多图片上传 或者 文件上传 多文件上传 自己去百度 原理都一样

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~