2011-11-09 8 views
0

私は、PHPで構築されたWebサービスにメディアファイルをアップロードする際に問題に直面しています。 私はアンドロイドにソースコードと一緒にアプリを持っています。私はiPhoneでそれを複製すると仮定しています。 一部の文字列とともにメディアファイルをWebサービスにアップロードする予定の部分があります。 アンドロイドのコードは、アップロードするためにMultiPartEntityとHTTPPostというクラスを使用します。 いくつかのタグがあり、タグはいくつかの文字列に関連付けられています。画像、ビデオ、およびオーディオファイルをiphoneのPHP Webサービスにアップロードします。

for ex.MultiPartEntity mpEntity.addPart( "username"、 "abc");パスワードやその他のタグでも同様です。

私はいくつかの研究を行い、同様のことを扱うASIFormDataRequestが見つかりました。ここ

は、私はいくつかの他のdetials、

たNSData *画像データ= UIImageJPEGRepresentation(image.image、90)と一緒にメディアをアップロードするために使用していたサンプルコードです。 NSMutableURLRequest * request = [[[NSMutableURLRequest alloc] init] autorelease]; [setURLを要求する:[NSURL URLWithString:@ "http://my.url.com/somephpwebservice.php"]]; [setHTTPMethod:@ "POST"]を要求します。

NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"]; 
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary]; 
[request addValue:contentType forHTTPHeaderField: @"Content-Type"]; 

// now lets create the body of the post 
NSMutableData *body = [NSMutableData data]; 

//................................ Append the image data here//u= \"TP\";p= \"7012\";o= \"DEMO\";j= \"1151\"........................... 
//if (!([htmlCodeToWrite rangeOfString:@"SignatureShouldBeDoneHere"].location == NSNotFound)) 
//{ 
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];  
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data;name=\"userfile\";username=\"TP\";p=\"7012\";filename=\"%@\"\r\n",@"superman.jpg"] dataUsingEncoding:NSUTF8StringEncoding]]; 
    //[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[NSData dataWithData:imageData]]; 
//} 
//NSString *content = [NSString stringWithUTF8String:[imageData bytes]]; 
NSLog(@"%@",imageData); 
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 

//data into the string..... verifying............ 
NSString *strTest = [[NSString alloc] initWithData:body encoding:NSASCIIStringEncoding]; 
NSLog(@"%@ %@",@".....the request for webService",strTest); 

// setting the body of the post to the request 
[request setHTTPBody:body]; 

// now lets make the connection to the web 
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 

NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 

NSLog(@"%@ %@",returnString,@".....the response from webService"); 

これは正しい手順ですか?

PHPの開発者は、画像がアップロードされていないと言います。

助けてください。 Thanxは事前に

+0

ASIFormDataRequestを使用しない理由は何ですか? – Tudorizer

+0

私はASIFormDataRequestで試してみましたが、助けてくれませんでした –

答えて

0

投稿はthisの投稿を参照してください。私はマルチパートアップロードファイルの要求に従う正しい方法だと思います。乾杯!

関連する問題