2011-03-29 92 views
5

有沒有辦法將audiofile異步上傳到我的服務器?我已經使用NSURLConnection類同步實現了它。使用iOS上傳異步音頻文件

也許你也可以給我一個簡短的代碼示例。

感謝,

回答

8

你絕對必須使用ASIHttpRequest

它非常容易 - 它是所有iOS上最流行的庫。

只需選擇「異步」模式。

它幾乎不可能很容易使用。基本上只需輸入網址。

http://allseeing-i.com/ASIHTTPRequest/How-to-use

享受!


這是驚人的消息,本不再ASIHttpRequest!

你可以閱讀所有關於它:

http://allseeing-i.com/[request_release]。

+0

感謝您的回答。我設置正確,我確實從服務器得到了迴應。我想發送'NSData',但'[request addPostValue:file forKey:@「file」];'不適合我。有什麼建議麼? – hgbnerd 2011-03-30 07:39:31

+1

謝謝,'setData'爲我做了。不幸的是,我不能滿意,因爲我需要15個代表點); – hgbnerd 2011-03-30 14:37:26

+1

我讀到ASIHTTPRequest在iOS 5上不再支持 – antf 2012-08-12 23:17:29

0

現在是2015年。iOS 9.1剛剛發佈。 AFNetworking已成爲處理HTTP請求最流行的庫。 It supports asynchronous file uploads。這裏有一個例子:

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; 
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; 

NSURL *URL = [NSURL URLWithString:@"http://example.com/upload"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:URL]; 

NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"]; 
NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) { 
    if (error) { 
     NSLog(@"Error: %@", error); 
    } else { 
     NSLog(@"Success: %@ %@", response, responseObject); 
    } 
}]; 
[uploadTask resume];