3

iphone/ipadから.netサービスに画像を投稿したい.現在ASIFormDataRequestを使用していますが、エラーが発生しています.

「リクエスト形式が無効です: multipart/form-data; charset=utf-8;boundary=0xKhTmLbOuNdArY.」

このエラーを解決するのを手伝ってください。ありがとうございました

4

3 に答える 3

0
-(void)uploadFile{
    NSURL *url = [NSURL URLWithString: photoUploadURLString];

    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];

    [request setUseKeychainPersistence:YES];
    //if you have your site secured by .htaccess

    NSString *fileName = [NSString stringWithFormat:@"ipodfile%@.jpg",self.fileID];//your image file name
    [request addPostValue:fileName forKey:@"name"];

    // Upload an image
    NSData *imageData = UIImageJPEGRepresentation([UIImage imageName:fileName]) // your image 
    [request setData:imageData withFileName:fileName andContentType:@"image/jpeg" forKey:@"userfile"];

    [request setDelegate:self];
    [request setDidFinishSelector:@selector(uploadRequestFinished:)];
    [request setDidFailSelector:@selector(uploadRequestFailed:)];

    [request startAsynchronous];
}

- (void)uploadRequestFinished:(ASIHTTPRequest *)request{    
NSString *responseString = [request responseString];
    NSLog("Upload response %@", responseString);
}

- (void)uploadRequestFailed:(ASIHTTPRequest *)request{

    NSLog(@" Error - Statistics file upload failed: \"%@\"",[[request error] localizedDescription]); 
 }
于 2012-06-18T08:57:27.403 に答える
0

私も同じ問題を抱えていました..同じエラー..

しかし、私はいくつかの異なるアプローチでそれを解決しました。

基本的に、.Net Webサービスは、イメージがbinaryまたはbyte[]配列として提供されることを想定しています。

UIImagebyte[]使用ASIFormDataRequestしてサーバーに送信する方法はありません。

しかし、NSURLRequestそれはより良い方法で行われます。私たちはいつもより少し掘り下げる必要があります。

私はiOS用のsoapフレームワークを使った経験Sudzcがあります。これはオープンソースではありませんが、無料で入手できます。

あなたがする必要があるのは、

  1. WSDLリンクが必要です 。http://..... xyz.asmxがベースURLである場合、http://..... xyz.asmx/ wsdlで次のように取得できます。 WSDL、ブラウザで確認できます。
  2. www.sudzc.comにアクセス
  3. URLを貼り付け、[ URL]フィールドの下のドロップダウンリストから[ iOSプロジェクト用のObjectivc-C ]を選択します。必要に応じてプレフィックスを付けることも、回避することもできます。
  4. [生成]をクリックします

これにより、iOSプロジェクトを含むzipファイルが取得されます。プロジェクトを開いGeneratedたら、必要なものがすべて表示されているディレクトリを確認します。

于 2012-10-04T19:20:35.063 に答える
0

ASIFormDataRequestこのようにデータを設定してみてください

NSData *imgData = UIImagePNGRepresentation(img);
[request addData:imgData withFileName:@"FILENAME" andContentType:@"image/jpg" forKey:@"YOUR KEY"];

リクエストはどこですかASIFormDataRequest

ハッピーコーディング。

于 2012-06-18T08:54:30.673 に答える