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

これを試して...

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 に答える
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 に答える