Heim  >  Artikel  >  Web-Frontend  >  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
WBOYOriginal
2016-06-21 08:48:491256Durchsuche

本文测试环境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]]
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn