1. 程式人生 > >AFN網路框架2.x版—檔案上傳

AFN網路框架2.x版—檔案上傳

/**
 *  檔案上傳
 */
- (void)uploadFile
{
    //1.獲得請求管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
    
    //2.傳送請求
    //2.1封裝請求引數(parameters:只能放非檔案引數)
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"username"] = @"zhangsan";
   

    [mgr POST:@"https://localhost/upload.php" parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        //檔案上傳在這個block裡
        
        //新增檔案引數
        NSString *file = [[NSBundle mainBundle] pathForResource:@"test.txt" ofType:nil];
        NSData *data = [NSData dataWithContentsOfFile:file];
        
        //上傳
        [formData appendPartWithFileData:data name:@"file" fileName:@"123.text" mimeType:@"text/plain"];
        
    } success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"成功");
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"失敗");
    }];
    
    //非檔案上傳的POST請求
//    [mgr POST:<#(NSString *)#> parameters:<#(id)#> success:<#^(AFHTTPRequestOperation *operation, id responseObject)success#> failure:<#^(AFHTTPRequestOperation *operation, NSError *error)failure#>];
}