iOS application/json上传文件等

在和sever后台交互的过程中、有时候、他们需要我们iOS开发者以“application/json”形式上传。

    NSString *accessUrl = [NSString stringWithFormat:@"%@/xxx",@"https://www.xxxxx.com:xxxx"];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:accessUrl]];

    request.HTTPMethod = @"POST";

    //设置请求头
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

    //设置请求体
    NSMutableData *body = [NSMutableData data];

    [body appendData:[jsonStr dataUsingEncoding:NSUTF8StringEncoding]];

    [request setHTTPBody:body];

    NSHTTPURLResponse* urlResponse = nil;
    NSError *error = [[NSError alloc] init];
    NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];

    NSString *result = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];

    if (result == nil) {
        NSLog(@"json解析失败!");
    }

    else
    {
        NSData *jsonData = [result dataUsingEncoding:NSUTF8StringEncoding];
        NSError *err;
        NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
                                                            options:NSJSONReadingMutableContainers
                                                              error:&err];
        if(err) {
            NSLog(@"json解析失败:%@",err);
        }
        success(dic);
    }
时间: 2024-10-15 13:44:20

iOS application/json上传文件等的相关文章

安装wps导致 application/kset 上传文件类型报错解决办法

电脑中安装wps上传execl时,上传.xls文件时 报错 application/kset 文件类型不正确 打印array() print_r($_FILES ) 结果如下: Array ( [userfile] => Array ( [name] => Template.xls[type] => application/kset[tmp_name] => C:\\Windows\\temp\\phpACC.tmp [error] => 0 [size] => 768

ios通过post上传文件

由于iOS无法通过html表单来上传图片,因此想要上传图片,必须实现http请求,而不能像其他语言那样通过html表单的post就能上传. 上传图片的http post请求的格式是这样的: Java代码   Content-type: multipart/form-data, boundary=AaB03x --AaB03x content-disposition: form-data; name="field1" Hello Boris! --AaB03x content-dispo

post上传文件

// // ViewController.m // 02-POST // // Created by jerry on 15/10/9. // Copyright (c) 2015年 jerry. All rights reserved. // #import "ViewController.h" #import "NSMutableURLRequest+Muitipart.h" @interface ViewController () @end @implemen

java前后分离使用fetch上传文件失败500

这次不是写什么技术要点,仅仅是记录一下 最近遇到的一个问题 背景 使用fetch向java后台上传文件时,前端调试报错500,后端的报错为multipart 无法解析,翻译过来大概是这个意思. 由于本人不会java所以这里只是记录一下前端的注意事项. 原因 问题的主要原因在于,我在上传时设置了contenttype,这里就不得不提一下,fetch中由于之前使用的时候如果我不设置contenttype那么我向后端传送json时就会报错. 因为contenttype本来就是用于设置http的格式的,

django 基于form表单上传文件和基于ajax上传文件

一.基于form表单上传文件 1.html里是有一个input type="file" 和 'submit'的标签 2.vies.py def fileupload(request): if request.method == 'POST': print(request.POST) print(request.FILES) # from django.core.files.uploadedfile import InMemoryUploadedFile print(type(reque

iOS上传文件,有关http上传协议-RFC1867

以上是抓包HTML input file标签上传的内容 只要模拟上面http 的header跟body就可以成功. 整体说明: post 上传文件时,以在http body里面带参数,参数的格式,根据RFC1867协议要求写成如下 在http header 里面定义 boundary ,boundary的值为body里面分隔参数的标志. Content-Type: multipart/form-data; boundary=----------LlcUploadTaskWithRequest 假

iOS 网络请求 NSURLSession 的上传文件方法

NSURLSession/NSURLConnection的上传文件方法 此篇文章的理论基础主要是与HTTP网络通信协议相关.为集中精力,可以先把TCP/IP协议这些置之不理,也就是先只关注HTTP的请求和响应的结构.HTTP完整的原理内容就此略过.在此只略提相关内容.文中涉及的设计源码可以通过这里获取 https://github.com/wuqingjian2015/uploadHelper,有意者可以去看看. HTTP是干什么用的呢? 先考虑一下以下应用过程: 从客户端向服务器端发起一个请求

curl 上传文件 发送json

//上传文件 // 创建一个 cURL 句柄$ch = curl_init($url); // 创建一个 CURLFile 对象$cfile = curl_file_create(__DIR__.'/22.jpg','image/jpeg','test_name'); // 设置 POST 数据$data = array('test_file' => $cfile);curl_setopt($ch, CURLOPT_POST,1);curl_setopt($ch, CURLOPT_POSTFIE

ajaxfileupload上传文件,返回json数据报错的问题。

在使用ajaxfileupload上传文件的时候,文件上传成功了,但是返回的json数据一直解析不了.一直提示:Resource interpreted as Document but transferred with MIME type application/json,从字面上理解返回的是文档不能转换为json.但是从服务器那边返回的response里data-type确实是applicaiton/json.困扰很久,查看ajaxfileupload源代码发现,其实ajaxfileuploa