AFNetWorking3.0 上传图片 和 简单封装

2024-03-27 12:38

本文主要是介绍AFNetWorking3.0 上传图片 和 简单封装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上传图片
- ( void )saveImage:(UIImage *)image
{
    

    NSString *url =
  @"" ; // 放上传图片的网址
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
// 初始化请求对象
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
// 设置服务器允许的请求格式内容
   
  // 上传图片 / 文字,只能同 POST
    [manager POST:url parameters:
nil  constructingBodyWithBlock:^( id    _Nonnull  formData) {
       
  // 对于图片进行压缩
       
  //UIImage *image = [UIImage imageNamed:@"111"];
        NSData *data = UIImageJPEGRepresentation(image,
  0.1 );
       
  //NSData *data = UIImagePNGRepresentation(image);
       
  // 第一个代表文件转换后 data 数据,第二个代表图片的名字,第三个代表图片放入文件夹的名字,第四个代表文件的类型
        [formData appendPartWithFileData:data name:
@"1"  fileName: @"image.jpg" mimeType: @"image/jpg" ];
    } progress:^(NSProgress *
  _Nonnull  uploadProgress) {
        NSLog(
@"uploadProgress = %@" ,uploadProgress);
    } success:^(NSURLSessionDataTask *
  _Nonnull  task,  id    _Nullable  responseObject) {
        NSLog(
@"responseObject = %@, task = %@" ,responseObject,task);
//        id obj = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:nil];
//        NSLog(@"obj = %@",obj);
     
    } failure:^(NSURLSessionDataTask *  _Nullable  task, NSError *  _Nonnull  error) {
        NSLog(
@"error = %@" ,error);
    }];
 
}


简单封装
typedef void(^SuccessBlock)(id data);
typedef  void (^FailBlock)( NSError  *error);

//网络请求数据
+ (
void)sendGETWithUrl:(NSString *)url parameters:(NSDictionary *)dict success:(SuccessBlock)successBlock fail:(FailBlock)failBlock
{
   
 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
   
    manager.
responseSerializer = [AFHTTPResponseSerializer serializer];
   
    [manager
 GET:url parameters:dict progress:^(NSProgress * _Nonnull downloadProgress) {
       
    }
 success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        successBlock(responseObject);
    }
 failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        failBlock(error);
    }];
   
}

+ (
void)sendPOSTWithUrl:(NSString *)url parameters:(NSDictionary *)dict success:(SuccessBlock)successBlock fail:(FailBlock)failBlock
{
   
 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
   
    manager.
responseSerializer = [AFHTTPResponseSerializer serializer];
   
    [manager
 POST:url parameters:dict progress:^(NSProgress * _Nonnull uploadProgress) {
       
    }
 success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        successBlock(responseObject);
    }
 failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        failBlock(error);
    }];
}

+ (
void)sendPOSTWithUrlStr:(NSString *)url parameters:(NSString *)string success:(SuccessBlock)successBlock fail:(FailBlock)failBlock{
   
 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.
responseSerializer = [AFHTTPResponseSerializer serializer];
    [manager
 POST:url parameters:string progress:^(NSProgress * _Nonnull uploadProgress) {
       
    }
 success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        successBlock(responseObject);
    }
 failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        failBlock(error);
    }];
   
}

这篇关于AFNetWorking3.0 上传图片 和 简单封装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/852129

相关文章

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用Python实现无损放大图片功能

《使用Python实现无损放大图片功能》本文介绍了如何使用Python的Pillow库进行无损图片放大,区分了JPEG和PNG格式在放大过程中的特点,并给出了示例代码,JPEG格式可能受压缩影响,需先... 目录一、什么是无损放大?二、实现方法步骤1:读取图片步骤2:无损放大图片步骤3:保存图片三、示php

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四