0

サーバーに非同期でファイルを送信したいと思います。ただし、サーバーにリクエストを送信したときのようです。サーバーからHTTPコード200が返されます。これは問題ありませんが、サーバーにファイルがアップロードされていません。

ただし、同期のままにしておくと...完全に機能します。変..

どんなアイデアでも大歓迎です、

- (void) sendCSVtoServer: ( Session * ) archive_session {

    NSLog(@"file name: %@", [archive_session getFile]);

    NSURL *url = [NSURL URLWithString:@"http://xx.x.xxx.xxx:3000/xxx/xxxxxxxx"];

    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];

    [request setPostValue: [archive_session getEmail] forKey:@"email"];
    [request addFile: [archive_session getFile] forKey:@"csv"];
    [request setDelegate:self];
    [request startSynchronous];

}

ありがとう!

4

1 に答える 1

0

デリゲートを設定していますが、これらのメソッドのいずれも実装していないと述べています。ASIFormDataRequestextendsASIHTTPResquestであるため、そのすべてのプロパティを継承します。

ASIHTTPRequestDelegate少なくとも で宣言されたメソッドを実装する必要があります

- (void)requestFinished:(ASIHTTPRequest *)request;

- (void)requestFailed:(ASIHTTPRequest *)request;

あなたのニーズに応じて他の人もいるかもしれません。

アップロードはおそらくまだ機能していますが (サーバーを確認できますか?)、リクエストを非同期で送信すると、リクエストが成功したか失敗したかを判断する方法がありません。今、あなたはただ黙って忘れているだけです。

で宣言されているすべてのメソッドはASIHTTPRequestDelegate.hオプションとしてマークされています。これが、デバッガー、コンパイラー、およびランタイムが文句を言わない理由です。

于 2013-03-04T19:25:35.440 に答える