正如我在ASI Documentation中所读到的,它的写作:“数据以'application / x-www-form-urlencoded'格式发布,或者在上传二进制数据时以'multipart / form-data'格式发布或文件“。
这正是我的问题。我只向服务器发送一个字符串,但服务器只接受'multipart / form-data',因为我只发送一个字符串,ASI框架创建一个带有'application / x-www-form-urlencoded'格式的POST请求自动,因为我没有发送任何二进制数据或文件。结果:服务器不接受我的POST请求。
我怎么能解决这个问题?
提前感谢您的帮助。
答案 0 :(得分:3)
您可以手动设置格式:
[request setPostFormat:ASIMultipartFormDataPostFormat];
答案 1 :(得分:0)
我刚刚以一种非常丑陋的方式解决了这个问题:我在第200行更改了ASIFormDataRequest实现:
if ([self postFormat] == ASIURLEncodedPostFormat) {
[self buildMultipartFormDataPostBody]; //NEW LINE
//[self buildURLEncodedPostBody]; ORIGINAL LINE
} else {
[self buildMultipartFormDataPostBody];
}
我很高兴听到任何其他建议!