1. 程式人生 > >AFNetworking3.0檔案/圖片上傳

AFNetworking3.0檔案/圖片上傳

iOS(AFNetworking3.0)與後臺圖片檔案/上傳

上次提及的AFNetworking3.0的簡單的請求返回son格式,這次是檔案/圖片上傳。

昨天寫後臺程式碼(java),android端的說不知道怎麼傳,我就寫個java測試程式碼驗證給他看~~累。好吧,iOS端的也說請求不了(他個小年輕人比我小2,3歲吧),iOS 的程式碼以前是我管的,現在移交他。他自己弄半天圖片老傳錯打不開,說是我後臺程式碼有問題,無奈只好動手寫程式碼也驗證給他看了。

開始上程式碼了,

mark此AFNetworking3.0的domo寫在Weimei專案上。

  1. 檔案上傳
//AFNetWorking 2.0
3.0 // 方式一 、檔案上傳 NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; manager.responseSerializer = [AFHTTPResponseSerializer serializer]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.qqqqqqq.com"]]
]; [request setTimeoutInterval:10.f]; [request setHTTPMethod:@"POST"]; NSURL *filePath = [NSURL fileURLWithPath:@"/Users/laiyufang/Desktop/1pic.jpg"]; 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];

圖片上傳

//AFNetWorking 2.03.0
//    方式二:圖片上傳
    NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
    AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    UIImage *img = [UIImage imageNamed:@"addressbook_icon"];
    NSData *imageData = UIImagePNGRepresentation(img);
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://w ww.qqqqqqq.com"]]];
    [request setTimeoutInterval:10.f];
    [request setHTTPMethod:@"POST"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromData:imageData progress:nil completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
        if (error) {
            NSLog(@"Error: %@", error);
        } else {
            NSLog(@"Success: %@ %@", response, responseObject);
        }
    }];
    [uploadTask resume];