微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[beego学习] AJAX文件上传

AJAX文件上传

1.前端代码

<script>
    $(function(){
        $("#uploadBtn").click(function(){
            var formdata = new FormData();
            console.log($("#uploadFile"));
            formdata.append("file", $("#uploadFile")[0].files[0])

            $.ajax({
                url:"/Upload",
                type:"POST",
                data:formdata,
                processData:false,          // 注意
                contentType:false,          // 注意
                success:function(res){
                    console.log("upload success");
                    console.log(res);
                },
                fail:function(res){
                    console.log("upload Failed");
                    console.log(res);
                }
            })
        });
    });
</script>
<body>
    <form>
        <input type="file", id = "uploadFile"/><br>
        <input type="button", value = "上传" id = "uploadBtn"/>
    </form>
</body>

两个参数不想深究,记录下就行了

2.后端处理POST请求

func (c *UploadController) Post(){
    // 获取上传文件
    f, h, err := c.GetFile("file")
    if err != nil{
        fmt.Println("error")
    }

    defer f.Close() 		// 延迟关闭
    fmt.Println(h.Filename)

    // 保存文件
    c.SavetoFile("file", "upload/"+h.Filename)		//后一个参数是保存文件目录名, 文件夹必须要事先就已有,
    // c.Ctx.WriteString("上传成功")

    c.Data["json"] = map[string]interface{}{
        "code":200,
        "msg":"success",
    }
    c.ServeJSON()
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐