2

私が読んだこれについての同様の質問がここにあり、そこで与えられたアドバイスに従おうとしました...そして私は95%完了していると思いますが、残りの5%は...よく知っています;-)

だから私はtwitPic APIを呼び出して画像をアップロードしようとしています.UIImageViewに含まれる画像を画面に表示しています(表示されているので、間違いなくそこにあります)。API 呼び出しを形成するコードは次のようになります。

    NSURL *url = [NSURL URLWithString:@"http://twitpic.com/api/upload"];
NSString *username = @"myUsername";
NSString *password = @"myPassword";
NSData *twitpicImage = UIImagePNGRepresentation(imageView.image);

// Now, set up the post data:
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];

[request setPostValue:twitpicImage forKey:@"media"];
[request setPostValue:username forKey:@"username"];
[request setPostValue:password forKey:@"password"];

// Initiate the WebService request
[request start];

「画像が見つかりません」というエラーが返されます。

私が間違っていることは明らかですか?ヒントはありますか?私は ObjectiveC を 1 週間しか使っていないので、これは本当の初心者のエラーである可能性が非常に高いです。

同じトラックで-ここのコードで成功または失敗を適切にキャプチャする方法が明確ではありません-現在、「request responseString」をアラートにダンプしていますが、これは最善の方法ではありません-結果を確認するにはどうすればよいですかちゃんと?

「NSLog」の使用も見ました-これはデバッグ/コンソールロギングツールであると思われます-しかし、XCodeのどこにもこの出力が表示されません-デバッガーに表示されるようには見えません-任意手がかりは?

上記が本当にばかげている場合は申し訳ありません-私は少し嘲笑することができます-しかし、私はiPhoneの冒険でちょっと孤立しています-何かを跳ね返す人がいないなど-なので、ここですべてを発散させます;-)

乾杯、

ジェイミー。

4

1 に答える 1

14

次のように、 setData メソッドを使用して画像データを投稿にコピーする必要があります。

[request setData:twitPicImage forKey:@"media"];

同期呼び出しを行っているため、すべての画像データをアップロードしている間、アプリが停止します。NSOperationQueue、またはプログレス バーを表示できる ASINetworkQueue サブクラスを使用するように切り替えることができます。

XCode のデバッガー ウィンドウで NSLog の出力を確認できるはずです。これに切り替えたことを確認してください(スプレー缶をオンにして左上を制御します)。コンソールを起動することもできます。

于 2009-04-15T07:30:02.800 に答える