2

在这里,我发送带有一些参数的文件路径或文件。但是服务器没有收到视频。那么该代码有什么问题吗?或者任何你想添加的东西。那么请告诉我。您想告诉我我在哪里得到错误或响应设置的任何委托方法。

NSString *path = [[NSBundle mainBundle] pathForResource:@"hangover" ofType:@"mp4"];

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://156.75.28.172:52/aircas/RestServices/fileUpload"]];

[request setPostValue:filename forKey:@"name"]; 

[request setPostValue:@"GUnit" forKey:@"title"];
[request setPostValue:@"133" forKey:@"user_id"]; 
[request setPostValue:@"8953d0e1c97ef83c9f0aff47" forKey:@"token"]; 
[request setPostValue:@"video song" forKey:@"desc"]; 
[request setPostValue:@"34" forKey:@"video_id"]; 
[request setPostValue:@"0" forKey:@"is_private"]; 

[request setFile:path forKey:@"video"];

[request setTimeOutSeconds:500]; 
[request setRequestMethod:@"POST"];

[request startSynchronous];
4

2 回答 2

5

在您的代码中添加以下代码,然后您可以编写 2 个委托方法并可以处理响应。

[request setDelegate:self];
[request setDidFailSelector:@selector(uploadFailed:)];
[request setDidFinishSelector:@selector(uploadFinished:)];

- (void) uploadFailed:(ASIHTTPRequest *)request 
{
    //Upload succeeded;
}

- (void) uploadFinished:(ASIHTTPRequest *)request 
{
    //Upload failed;
    NSError *error = [request error];
    NSLog(@"Error Description-->%@",[error localizedDescription]);
}

要深入了解 ASIHttpRequest,请参阅文档。它有很好的记录。

于 2012-11-01T05:55:13.447 回答
5

试试这个...

NSString *path = [[NSBundle mainBundle] pathForResource:@"hangover" ofType:@"mp4"];
    NSURL *fileURL = [NSURL fileURLWithPath:path];
        NSData *movieData = [NSData dataWithContentsOfURL:fileURL];

    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://156.75.28.172:52/aircas/RestServices/fileUpload"]];

     [request setPostValue:filename forKey:@"name"]; 

    [request setPostValue:@"GUnit" forKey:@"title"];
     [request setPostValue:@"133" forKey:@"user_id"]; 
     [request setPostValue:@"8953d0e1c97ef83c9f0aff47" forKey:@"token"]; 
     [request setPostValue:@"video song" forKey:@"desc"]; 
    [request setPostValue:@"34" forKey:@"video_id"]; 
    [request setPostValue:@"0" forKey:@"is_private"]; 

    [self.request setData:movieData withFileName:@"hangover.mp4" andContentType:@"multipart/form-data" forKey:@"video"];

    [request setTimeOutSeconds:500]; 
    [request setRequestMethod:@"POST"];

    [request startSynchronous];

希望能帮助到你。

于 2012-11-01T06:03:11.033 回答