我正在将带有文件,文本等的表单上传到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.
解决方法
根据RFC 1341:
如Content-Transfer-Encoding字段的定义中所述,对于“multipart”类型的实体,不允许除“7bit”,“8bit”或“binary”之外的编码.在任何情况下,多部分分隔符和标题字段始终是7位ASCII,并且可以在逐个部分的基础上对正文部分内的数据进行编码,每个适当的正文部分使用Content-Transfer-Encoding字段.
因此,在这种情况下,您必须使用Content-Transfer-Encoding而不是Content-Type.