今天iOS同事说上传文件的接口不能用了...VC上没看到代码改动...然后查,发现APP运行在32位iOS系统OK,64位就悲剧了...原因呢?...... 上传文档的Content-Type在64位系统上被偷偷加了一个charset属性,如下:
multipart/form-data; charset=utf-8; boundary=0xKhTmLbOuNdArY
然后看了下multiparty的源码,它匹配Content-Type的正则如下:
/^multipart\/(form-data|related);\s*boundary=(?:"([^"]+)"|([^;]+))$/i;
果然,根本就匹配不上,所以解析自然出错(Express@3.4.2)。 我对http协议syntax了解不多,还望论坛的大大们看看,这个是什么个情况?@MiguelValentine 大神
As with all multipart MIME types, each part has an optional "Content-Type" header that defaults to "text/plain". User agents should supply the "Content-Type" header, accompanied by a "charset" parameter.