2012-03-04 18 views
0

カメラで撮影した画像をアップロードするか、uiimagepickerviewでアップロードする必要があります。私はASIHTTPRequestを使用しています。Webサービスに画像をアップロードする - 初心者

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 

[request setFile:@"/Users/ben/Desktop/ben.jpg" forKey:@"photo"]; 

1)私はiPhoneのカメラから写真を撮るか、uiimagepickerviewからそれをアップロードしておりますので、私は)@"/Users/ben/Desktop/ben.jpg"ためsetFile(置換テキスト用に設定する必要がありますどのような値を知る必要がありますか?

2.)また、このアプリケーションをテストする必要があります。だから誰でも対応するPHPコードを知っているので、(Webブラウザで)撮影した画像を表示することができます。チュートリアルまたはサンプルコード

答えて

2

第一の質問に答えを得るために、次のコードで見てみてください。

#import <MobileCoreServices/MobileCoreServices.h> 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    BOOL isImage = ([[info objectForKey:UIImagePickerControllerMediaType] isEqualToString:kUTTypeImage]); 
    if (isImage) { 
     self.request = [ASIFormDataRequest requestWithURL:url]; 
     UIImage *originalImage = [info objectForKey:UIImagePickerControllerOriginalImage]; 
     NSData *imageData = UIImageJPEGRepresentation(originalImage, 0.7); 
     [self.request setData:imageData 
       withFileName:@"photo.jpg" 
       andContentType:@"image/jpeg" 
         forKey:@"photo"]; 
     [self.request start]; 
    } 
} 

あなたUIImagePiclerControllerデリゲートクラスにプロパティを追加することを検討してください

@property(nonatomic, retain) ASIFormDataRequest *request; 

それはあなたが要求を停止するか、少なくとも、あなたのオブジェクトの割り当てが解除された場合、それは単にこれをテストするには、対応するPHPコードになりますどのような

- (void) dealloc { 
    [self.request cancel]; 
    self.request.delegate = nil; 
    [request release]; 
    [super dealloc]; 
} 
+0

ご返信ありがとうございます。 UIImageJPEGRepresentation(originalImage、0.7) 'では' 0.7'とは何ですか?私は自分のコードでARCを使用しています。対応しているPHPコードを知っていますか?これが動作しているかどうかテストできますか? – Illep

+0

問題ありません。 0.7のJPEG圧縮品質を確認することができます。この引数の値の範囲は[0.0; 1.0]です。 [Apple docs](https://developer.apple.com/library/ios/DOCUMENTATION/UIKit/Reference/UIKitFunctionReference/Reference/reference.html#//apple_ref/doc/uid/TP40006894-CH3-SW9)によると、 "値0.0は最大圧縮(または最低品質)を表し、値1.0は圧縮(または最高品質)を表します。 PHPを使用するには、PHPモジュールなどでWebサーバーを設定する必要があることを理解しています。独自のAPIを使用してイメージをいくつか使用して確認する方がよいと思います。 –

+0

'#import 'をなぜ追加しましたか?どのメソッドがそれを使用していますか? – Illep

関連する問題