首页 >web前端 >html教程 >Golang 1.6: 使用jQuery.iframe-Transport.js做Ajax文件上传并处理multipart Form_html/css_WEB-ITnose

Golang 1.6: 使用jQuery.iframe-Transport.js做Ajax文件上传并处理multipart Form_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-21 08:48:491295浏览

本文测试环境Golang 1.6, jQuery 1.12.3

之前写过一篇文章: jQuery.iframe-Transport.js来发送Ajax文件上传请求对返回JSON的处理,就是讲使用这个jQuery插件时对返回JSON数据的处理,该插件会内置一个

// 输出multipart.Form内的数据func logMultipartForm(form *multipart.Form) {    log.Print("Values:", form.Value)    log.Print("Files:")    for key := range form.File {        headers := form.File[key]        for _, header := range headers {            log.Printf("Key: %v, Filename: %v, Header: %v", key, header.Filename, header.Header)        }    }}// 处理POST请求的Handler// Handler的声明可能根据不同路由HTTP框架而不一样func fileUploadHandler(ctx context.Context, w http.ResponseWriter, r *http.Request) {    err := r.ParseMultipartForm(1024 * 50) //50kb buffer    if err != nil {        http.Error(w, err.Error(), http.StatusInternalServerError)        return    }    form := r.MultipartForm    logMultipartForm(form)    /* 后面省略 */}

示例输出:

Values: map[X-Requested-With:[IFrame] X-HTTP-Accept:[application/json, text/javascript, */*; q=0.01]]Files:Key: avatarUpload, Filename: IMG_1156.jpg, Header: map[Content-Disposition:[form-data; name="avatarUpload"; filename="IMG_1156.jpg"] Content-Type:[image/jpeg]]
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn