IOS上传文件到JAVA服务器

本文介绍了如何在iOS应用中使用NSURLSessionUploadTask将文件上传到采用SpringMVC框架的Java服务器。在iOS端,重点在于构造符合HTTP请求格式的数据,并通过NSURLSession发起上传任务。在Java端,主要涉及SpringMVC的配置和Controller方法来接收上传的文件。注意在构造请求头时,' '的正确使用是关键。
摘要由CSDN通过智能技术生成

在开发过程中我们可能会需要把IOS上传到java服务器。
IOS端
首先我们来观察下在form表单中上传文件到服务中http header中的内容。
这里写图片描述
红色框里面是我们需要的内容。
再观察wireshark中所发送的data的内容
这里写图片描述

然后我们根据上文中的内容为需要发送的文件的data数据中添加必要的内容。
模仿下面红色框的格式。
定义data:注意需要完全按照wireshark中的格式来,一定要带上”\r\n”
格式:
–boundary
Content-Disposition:form-data;name=”表单控件名称”;filename=”上传文件名称”
Content-Type:文件MIME Types

文件二进制数据;

—boundary–

//构造Content-Type

    NSMutableData *uData = [NSMutableData data];
    //Content-Type head
    NSString *strTop = [NSString stringWithFormat:@"------%@\r\nContent-Disposition: form-data; name=\"file1\"; filename=\"%@\"\r\nContent-Type: %@\r\n\r\n",BODUNDARY_STRING,fileName,[self mimeType:fileName]];
    //Content_Type foot
    NSString *strBottom = [NSString stringWithFormat:@"\r\n------%@--\r\n",BODUNDARY_STRING];

    //文件数据
    NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:nil];
    NSData *uploadData = [NSData dataWithContentsOfFile:filePath];
    if (!uploadData) {
        NSLog(@&
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值