0

ASIFormDataRequest用来调用web service带有视频文件的文件。如果视频很小,它可以正常工作,但如果视频大约 30 秒或以上,那么它的响应会在__NSCFString某个时间或某个时间返回__NSCFConstantString

我的代码如下。

__block ASIFormDataRequest *request=[[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString:APP_APIURL]];

    [request setPostValue:strVal forKey:@"jsonRequest"];
    if (videoData) {
        [request setData:videoData withFileName:videoName andContentType:nil forKey:@"videoFile"];
    }

    [request startSynchronous];
    request.timeOutSeconds=999999999;
    // response 
    NSString *strResponse=[request responseString];

if (strResponse) {
    SBJsonParser *parser=[[SBJsonParser alloc] init];
    NSMutableDictionary *dicData=[[parser objectWithString:strResponse] valueForKey:@"uploadVideo"];

请帮我解决这个问题。

希瓦姆

4

1 回答 1

0

以下是您的问题的一些解决方案:

  • 使用自省并检查返回的对象的类。如果你得到一个“常量”字符串,可能不是你所期望的。打印它或检查它的内容。
  • 如果您正在接收视频文件 - 使用 [request responseData] 或更好,请使用 ASIHTTPRequest 库中描述的文件保存技术。如何同时下载文件和解析 json 响应?
  • 使用JSONKit - 恕我直言,最快的 json 解析器。
于 2012-05-18T13:52:28.673 回答