使用angularjs $http将content-type设置为utf-8

前端之家收集整理的这篇文章主要介绍了使用angularjs $http将content-type设置为utf-8前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在将带有文件,文本等的表单上传到appengine blobstore:

$http({
    method: 'POST',url: the_url,transformRequest: formDataObject,data: event,headers: {'Content-Type': undefined}
})

请求成功发送以下标题

Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryYeRxOO7y3qHNWd83

当我尝试将内容类型设置为“multipart / form-data; charset = UTF-8”时,我会丢失边界并在响应中出错:错误内容类型.请使用multipart.

添加UTF-8字符集的正确方法是什么?

解决方法

根据RFC 1341:

如Content-Transfer-Encoding字段的定义中所述,对于“multipart”类型的实体,不允许除“7bit”,“8bit”或“binary”之外的编码.在任何情况下,多部分分隔符和标题字段始终是7位ASCII,并且可以在逐个部分的基础上对正文部分内的数据进行编码,每个适当的正文部分使用Content-Transfer-Encoding字段.

因此,在这种情况下,您必须使用Content-Transfer-Encoding而不是Content-Type.

猜你在找的Angularjs相关文章