zoukankan      html  css  js  c++  java
  • 利用AFN上传多张图片到服务器

    最近服务器做了一个可以支持多张图片上传的接口,所以我对应的也找了AFN多图片上传的方法

    这里我主要是针对UImage数组的传入,我觉得大部分我都是能获得UImage来上传的,然而在网上找到的方法都是要获得图片的地址,所以就自己整了这个

    #pragma mark - 上传图片
    - (void)uploadImages:(NSArray <UIImage *>*)images
    {
        WEAKSELF;
        AFHTTPSessionManager *mar = [AFHTTPSessionManager manager];
        NSMutableDictionary *params = [NSMutableDictionary dictionary];
       //添加服务器需要你传的参数 params
        
        NSString *url = nil;
    //拼接地址 url
    = [NSString stringWithFormat:@"%@%@", BASE_URL, URL_SHOP_IMAGE_UPLOAD]; [mar POST:url parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) { //拼接图片 [images enumerateObjectsUsingBlock:^(UIImage * _Nonnull image, NSUInteger idx, BOOL * _Nonnull stop) { NSData *imageData = UIImagePNGRepresentation(image); if (imageData.length >= 1024 * 1024) {
    //因为我们服务器有限制1M以内 所以我超过1M的进行压缩了 imageData
    = [image resetSizeOfImageData:image maxSize:1000]; [formData appendPartWithFileData:imageData name:@"kinta" fileName:@"kinta.jpg" mimeType:@"image/jpg"]; }else{ [formData appendPartWithFileData:imageData name:@"kinta" fileName:@"kinta.png" mimeType:@"image/png"]; } }]; } progress:^(NSProgress * _Nonnull uploadProgress) { // 回到主队列刷新UI,用户自定义的进度条 dispatch_async(dispatch_get_main_queue(), ^{ [SVProgressHUD showProgress:1.0 * uploadProgress.completedUnitCount / uploadProgress.totalUnitCount]; }); } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"上传成功 %@", responseObject); id datalist = responseObject[@"datalist"]; NSLog(@"%@",datalist); } else { } } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"上传失败 %@", error); [SVProgressHUD dismiss]; }]; }
  • 相关阅读:
    姐姐的vue(1)
    LeetCode 64. Minimum Path Sum 20170515
    LeetCode 56. 56. Merge Intervals 20170508
    LeetCode 26. Remove Duplicates from Sorted Array
    LeetCode 24. Swap Nodes in Pairs 20170424
    LeetCode 19. Remove Nth Node From End of List 20170417
    LeetCode No.9 Palindrome Number 20170410
    LeetCode No.8. String to Integer (atoi) 2017/4/10(补上一周)
    LeetCode No.7 Reverse Integer 2017/3/27
    LeetCode No.4 Median of Two Sorted Arrays 20170319
  • 原文地址:https://www.cnblogs.com/yulongjiayuan/p/5857871.html
Copyright © 2011-2022 走看看