我正在尝试使用WCF服务将文件从iPhone上传到网站。 WCF服务有很多方法可以从iPhone成功调用,除了这个。
[OperationContract]
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "UploadFileBinary")]
UploadFileResponse jsonUploadFile(UploadFileRequest request);
UploadFileRequest分别包含byte []和FileBinaryData和FileName的字符串。
问题是我将文件数据作为NSData对象,并且不知道如何将其转换为JSON兼容格式。我尝试了一些建议,但没有一个适合我。
答案 0 :(得分:2)
答案是更改WCF数据协定并添加string类型的数据成员。
iPhone端的将NSData编码为base64字符串 在WCF端解码字符串并获取字节数组。
答案 1 :(得分:1)
您在寻找由您的数据代表的JSON字符串吗?如果是的话......
NSString *string = [NSString stringWithUTF8String:[data bytes]];
或者您正在寻找JSON代表解析过的真正的NSObject吗?这也很容易......
NSError *error;
id parse = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];