【问题标题】:iPhone ASIFormDataRequest with multipart/form-dataiPhone ASIFormDataRequest 与 multipart/form-data
【发布时间】:2011-03-17 23:58:30
【问题描述】:
正如我在ASI Documentation 中所读到的,它写道:“上传二进制数据或文件时,数据以'application/x-www-form-urlencoded' 格式或'multipart/form-data' 格式发布。 "
这正是我的问题。我只向服务器发送一个字符串,但服务器只接受“multipart/form-data”,当我只发送一个字符串时,ASI 框架创建一个具有“application/x-www-form-urlencoded”格式的 POST 请求自动,因为我没有发送任何二进制数据或文件。结果:服务器不接受我的 POST 请求。
我该如何解决这个问题?
提前感谢您的帮助。
【问题讨论】:
标签:
iphone
objective-c
post
asihttprequest
【解决方案1】:
我刚刚以一种非常丑陋的方式解决了这个问题:我在第 200 行更改了 ASIFormDataRequest 实现:
if ([self postFormat] == ASIURLEncodedPostFormat) {
[self buildMultipartFormDataPostBody]; //NEW LINE
//[self buildURLEncodedPostBody]; ORIGINAL LINE
} else {
[self buildMultipartFormDataPostBody];
}
我很高兴听到任何其他建议!
【解决方案2】:
您可以手动设置格式:
[request setPostFormat:ASIMultipartFormDataPostFormat];