2011-11-04 93 views
2

引用我需要發送到Web服務器的一些信息,如文件,在我的應用程序的用戶插入AFNetworking上傳與forKey

我用ASIHTTPRequest,但我有一些問題與iOS 5,所以我決定移動到AFNetworking

這是我到目前爲止已經寫的代碼...

AFHTTPClient *client= [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://theserver.com/upload.php"]]; 
NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; 
[parameters setObject:[fieldName text] forKey:@"name"]; 
[parameters setObject:[fieldSurname text] forKey:@"surname"]; 

現在我需要添加包含圖像的NSData對象,它應該由forKey引用:@」附件「

我該寫什麼?與ASIHTTPRequest我用

[request setData:myNSData withFileName:@"image.jpg" andContentType:@"application/octet-stream" forKey:@"attachment"]; 

但AFNetworking我不知道我應該怎麼寫,例子並不能幫助我

非常感謝你!

回答

4

你需要使用 「multipartFormRequestWithMethod」 - 如:

NSMutableURLRequest *request = [[AFHTTPClient sharedClient] multipartFormRequestWithMethod:@"POST" path:@"/upload.php" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) { 
    [formData appendPartWithFileData:data mimeType:@"image/jpeg" name:@"attachment"]; 
}]; 
+0

謝謝!但是,而不是「參數=零」我應該傳遞給我的「NSMutableDictionary *參數」,對不對? 當我聲明「AFHTTPClient *客戶端」...我需要插入整個路徑或只是「http://theserver.com」? – Janky

+0

是的,你可以傳入你的參數。當你創建AFHTTPClient時,只需傳遞基礎url即ie。 http://theserver.com/(與http://,其中stackoverflow似乎意圖隱藏) – JosephH

+0

是數據的UIImage?有關係嗎? – mkral