我正在尝试使用 multipart/form-data 内容类型发布文件,但我遇到了这个问题:
我在编写文件内容时不应该转义 CRLF 吗?我在网上得到了一段代码,我认为它可能是错误的:
NSMutableURLRequest* req = [NSMutableURLRequest requestWithURL: url];
[req setHTTPMethod: @"POST"];
NSString* contentType = @"multipart/form-data, boundary=AaB03x";
[req setValue:contentType forHTTPHeaderField: @"Content-type"];
NSData* boundary = [@"\r\n--AaB03x\r\n" dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData *postBody = [NSMutableData data];
[postBody appendData: boundary];
[postBody appendData: [@"Content-Disposition: form-data; name=\"datafile\"; filename=\"t.jpg\"" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData: [@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData: imageData];
[postBody appendData: boundary];
[req setHTTPBody:postBody];
这是错误的,因为 imageData 可能包含 \r\n 序列,对吗?如果是这样,有没有办法在原始数据中转义 CRLF?还是我错过了什么?
提前致谢!