2

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

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

我该如何解决这个问题?

提前感谢您的帮助。

4

2 回答 2

3

您可以手动设置格式:

[request setPostFormat:ASIMultipartFormDataPostFormat];
于 2010-07-20T11:10:15.250 回答
0

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

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

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

于 2010-07-19T17:39:13.730 回答