zoukankan      html  css  js  c++  java
  • iOS 使用AFN 进行单图和多图上传

    图片上传时必要将图片进行压缩,不然会上传失败

    1.单张图上传

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];    [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) {

    //使用日期生成图片名称

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

    NSString *fileName = [NSString stringWithFormat:@"%@.png",[formatter stringFromDate:[NSDate date]]];

    [formData appendPartWithFileData:imageData name:@"uploadFile" fileName:fileName mimeType:@"image/png"];

    } success:^(AFHTTPRequestOperation * _Nonnull operation, id  _Nonnull responseObject) {

    //上传图片成功执行回调

    completion(responseObject,nil);

    } failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {

    //上传图片失败执行回调

    completion(nil,error);

    }];

    2.多图上传

    多图上传和单图上传区别在于文件名称

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];    [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) {

    NSInteger imgCount = 0;

    for (NSData *imageData in imageDatas) {

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss:SSS";

    NSString *fileName = [NSString stringWithFormat:@"%@%@.png",[formatter stringFromDate:[NSDate date]],@(imgCount)];

    [formData appendPartWithFileData:imageData name:[NSString stringWithFormat:@"uploadFile%@",@(imgCount)] fileName:fileName mimeType:@"image/png"];

    imgCount++;

    }

    } success:^(AFHTTPRequestOperation * _Nonnull operation, id  _Nonnull responseObject) {

    completion(responseObject,nil);

    } failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {

    completion(nil,error);

    }];

  • 相关阅读:
    华为AR2204多VLAN走不同wan口
    supervisord管理Django项目
    Django3 channels websocket实时读取日志返回前端
    雪球网接口测试
    算法图解: 1.二分查找
    HttpRunner3源码阅读:10.测试执行的处理 runner
    HttpRunner3源码阅读:9. 测试用例中的类定义testcase
    HttpRunner3源码阅读:8. 用例文件生成并格式化make
    HttpRunner3源码阅读:7.响应后处理 response.py
    HttpRunner3源码阅读:6.请求客户端client
  • 原文地址:https://www.cnblogs.com/wsnb/p/5015517.html
Copyright © 2011-2022 走看看