`
thierry.xing
  • 浏览: 665041 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
580fa9c1-4a0c-3f40-a55a-c9256ce73302
Sencha Touch中...
浏览量:0
社区版块
存档分类
最新评论

iOS通过HTTP POST上传文件

    博客分类:
  • iOS
 
阅读更多

iOS通过HTTP POST上传文件,代码如下:

 

//创建Request对象
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:[NSURL URLWithString:urlStr]];
    [request setHTTPMethod:@"POST"];
    NSMutableData *body = [NSMutableData data];

//设置表单项分隔符
    NSString *boundary = @"---------------------------14737809831466499882746641449";

//设置内容类型
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
    [request addValue:contentType forHTTPHeaderField: @"Content-Type"];

    //写入图片的内容
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"PIC_DATA1.jpg\"\r\n",@"PIC_DATA1"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[infoDic objectForKey:@"PIC_DATA1"]];
    [body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    
    //写入INFO的内容
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n",@"PIC_INFO"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:jsonData];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

     //写入尾部内容
    [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];

    [request setHTTPBody:body];
    
    NSHTTPURLResponse *urlResponese = nil;
    NSError *error = [[NSError alloc]init];
    NSData* resultData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponese error:&error];
    
    NSDictionary *responseDic = [NSJSONSerialization JSONObjectWithData:resultData options:NSJSONReadingMutableLeaves error:nil];

 

分享到:
评论

相关推荐

    iOS开发中文件的上传和下载功能的基本实现

    说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中。本文介绍如何不借助第三方框架实现iOS开发中得文件上传。  由于过程较为复杂,因此本文只贴出部分关键代码。 主控制器的关键代码: 代码如下:...

    http文件上传demo(http模拟POST表单上传文件)

    由于iOS无法通过html表单来上传文件,因此想要上传文件,必须实现http请求,而不能像其他语言那样通过html表单的post就能上传。此demo经过xcode5测试通过。此文件上传demo是按照 rfc1867协议实现的。

    IOS 调用.net webservice 和上传文件

    在iOS开发中,调用.NET WebService和上传文件是常见的任务,这涉及到网络通信和文件操作。本篇文章将深入探讨这两个关键知识点。 首先,让我们理解iOS如何与.NET WebService进行交互。WebService通常采用SOAP(简单...

    ios上传文件代码

    在iOS开发中,上传文件是一项常见的任务,尤其是在构建应用程序时,比如用户需要上传照片、文档或者音频等。本文将详细讲解如何在iOS中实现文件上传功能,基于标题和描述,我们将重点讨论`UploadFile.m`和`...

    http post 上传图片 原生

    然后,通过`setDoOutput(true)`开启写入模式,接着设置Content-Type为多部分表单数据(`multipart/form-data`),这是上传文件的标准格式。最后,我们使用`DataOutputStream`写入文件数据。 ```java URL url = new ...

    IOS文件的上传与下载

    - 使用`NSURLSessionUploadTask`进行文件上传,你需要创建一个`NSMutableURLRequest`对象,设置HTTP方法为"POST",然后通过`setHTTPBodyStream:`或`setHTTPBody:`设置上传的文件数据。 - 进度检测:通过`...

    ios-根据AFNetworking3.0框架封装的,实现了GET、POST、PUT、DELETE、上传文件、下载文件、文件上传下载进度条等功能.zip

    Network, 根据AFNetworking3.0框架封装的,实现了GET、POST、PUT、DELETE、上传文件、下载文件、文件上传下载进度条等功能,同时支持IPv6。 为什么使用它? 1、简单快捷,只需要一句代码即可请求网络和文件处理 ...

    iOS图片上传到服务器

    在iOS应用开发中,将图片上传到服务器是常见的功能需求,尤其在社交、电商或分享类应用中。本文将深入探讨如何实现这一过程,包括基本原理、所需技术以及实际操作步骤。 首先,我们需要理解基本的网络请求原理。iOS...

    ios POST请求

    POST请求通常在需要提交表单数据、上传文件或执行其他需要传递复杂数据的操作时使用。下面将详细介绍如何在iOS中实现POST请求,以及相关的知识点。 首先,iOS开发主要使用Swift语言,所以我们讨论的是Swift环境下的...

    iOS通过http post上传图片

    总结来说,iOS通过HTTP POST上传图片涉及以下关键点: 1. 初始化`ASIFormDataRequest`对象并设置URL。 2. 定义请求体的边界字符串。 3. 构建请求体字符串,包括普通表单数据和图片数据。 4. 将请求体字符串转换为二...

    andriod、iOS服务器端代码之文件上传

    在描述中提到的"浏览器端上传文件的简易jsp代码",指的是使用JavaServer Pages (JSP) 技术实现的前端文件上传界面。JSP是一种动态网页技术,它允许在服务器端生成HTML响应,并且可以嵌入Java代码来处理业务逻辑。...

    对应文件-iOS-打开照相机&打开本地相册&图片上传

    在iOS应用开发中,与“打开照相机”和“打开本地相册”相关的功能是非常常见的需求,这使得用户能够方便地捕获新照片或者选择已有的图像进行上传。本篇文章将详细阐述如何在iOS应用中实现这些功能,并涵盖图片上传的...

    ios-AFNetworking的下载、请求、上传.zip

    以下是一个简单的上传文件示例: ```swift let fileURL = URL(fileURLWithPath: "/path/to/local/file.jpg") let url = URL(string: "https://api.example.com/upload")! manager.upload(fileURL, to: url, method...

    iOS开发之结合asp.net webservice实现文件上传下载

    - **文件上传**:在iOS客户端中,使用`NSURLConnection`或`NSURLSession`发起POST请求,将文件转换为NSData并通过HTTP请求发送给服务器。 - **文件下载**:发起GET请求获取文件数据,然后将其保存到本地。 **示例...

    uniapp实现移动端上传文件功能

    在移动应用开发中,文件上传是一项常见的功能,尤其在社交、云存储以及各种服务类应用中,用户常常需要上传图片、文档等数据。...通过合理地组织代码,可以构建出高效、用户体验良好的文件上传功能。

    HTTP上传文件client.zip

    2. **HTTP POST请求**:POST是HTTP中的一个动词,用于向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。在文件上传中,...

    ios 中http协议的POST方法

    除了基础的POST请求,还可能涉及到上传文件、自定义请求头、携带Cookie等复杂情况。例如,上传图片时,需要将图片转换为Data对象并添加到请求体中;设置自定义请求头可以使用`setValue:forHTTPHeaderField:`方法;...

    Android/Ios上传图片头像或是文件到数据库

    在移动应用开发中,无论是Android还是iOS,都有需求将用户选择的图片或文件上传到服务器并存储在数据库中。这个过程通常涉及到二进制流处理和Blob数据类型的使用。Blob,全称为Binary Large Object,是数据库系统中...

    IOS上传图片到服务器

    在iOS开发中,将图片上传到服务器是一项常见的需求,尤其在移动应用中,用户可能需要分享照片或保存数据到云端。本教程将详细介绍如何在iOS应用程序中实现这一功能,并提供服务器端Python代码作为参考,使用Flask...

    iOS实现文件上传功能

    iOS中用系统提供的API能实现能实现文件的上传与下载,分别有两种方式。NSURLConnection与NSURLSession。 其中NSURLConnection是使用很久的的一种方式,NSURLSession是新...*Content-Type:multipart/form-data(上传文件)

Global site tag (gtag.js) - Google Analytics