如何手动创建multipart / form-data [英] How to manually create multipart/form-data

查看:355
本文介绍了如何手动创建multipart / form-data的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们可以使用 .formData() Body mixin在 FormData 数据表示/ Body / formData#Browser_compatibilityrel =nofollow noreferrer> Chromium(Chrome)60+和Firefox 39+

We can use .formData() of Body mixin to return a FormData representation of data at Chromium (Chrome) 60+ and Firefox 39+

相关规格:

  • 7.2 The Multipart Content-Type
  • Returning Values from Forms: multipart/form-data

勘误表

  • Clarification of Body package data algorithm with bytes, FormData and multipart/form-data MIME type #392
  • Documenting de-facto handling of multipart/form-data form field file uploads #3040

相关

  • Multipart HTTP response
  • How to upload files in Web Workers when FormData is not defined

如何在客户端和服务器上使用JavaScript手动创建 multipart / form-data 提供 multipart / form-data 作为回复?

How to manually create multipart/form-data using JavaScript at client and at server to serve the multipart/form-data as a response?

推荐答案

您可以使用XMLHttpRequest手动创建 multipart / form-data 这个例子。

You can create multipart/form-data manually with XMLHttpRequest like this example.

function multiPost(method, url, formHash){
    var boundary = "nVenJ7H4puv"
    var body = ""
    for(var key in formHash){
        body += "--" + boundary
             + "\r\nContent-Disposition: form-data; name=" + formHash[key].name
             + "\r\nContent-type: " + formHash[key].type
             + "\r\n\r\n" + formHash[key].value + "\r\n"
    }
    body += "--" + boundary + "--\r\n"

    var xml = new XMLHttpRequest();
    xml.open(method, url)
    xml.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + boundary)
    xml.setRequestHeader("Content-Length", body.length)
    xml.send(body)
}

这篇关于如何手动创建multipart / form-data的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆