带有multipart / form-data的iPhone ASIFormDataRequest

时间:2010-07-19 15:58:13

标签: iphone objective-c post asihttprequest

正如我在ASI Documentation中所读到的,它的写作:“数据以'application / x-www-form-urlencoded'格式发布,或者在上传二进制数据时以'multipart / form-data'格式发布或文件“。

这正是我的问题。我只向服务器发送一个字符串,但服务器只接受'multipart / form-data',因为我只发送一个字符串,ASI框架创建一个带有'application / x-www-form-urlencoded'格式的POST请求自动,因为我没有发送任何二进制数据或文件。结果:服务器不接受我的POST请求。

我怎么能解决这个问题?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您可以手动设置格式:

[request setPostFormat:ASIMultipartFormDataPostFormat];

答案 1 :(得分:0)

我刚刚以一种非常丑陋的方式解决了这个问题:我在第200行更改了ASIFormDataRequest实现:

if ([self postFormat] == ASIURLEncodedPostFormat) {
    [self buildMultipartFormDataPostBody];  //NEW LINE  
    //[self buildURLEncodedPostBody];  ORIGINAL LINE
} else {
    [self buildMultipartFormDataPostBody];
}

我很高兴听到任何其他建议!