文档章节

iOS网络 POST模拟表单上传单个与多个文件(直接调用分类里的方法即可)

沉恋
 沉恋
发布于 2015/02/17 16:17
字数 269
阅读 175
收藏 0
//
//  ViewController.m
//  01-POST上传文件
//
//  Created by 刘凡 on 15/2/8.
//  Copyright (c) 2015年 itcast. All rights reserved.
//

#import "ViewController.h"
#import "NSMutableURLRequest+Multipart.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [self multiPostUpload];
}

// MARK: - 多个文件上传
- (void)multiPostUpload {
    NSURL *url = [NSURL URLWithString:@"http://localhost/post/upload-m.php"];
    
    NSURL *fileUrl1 = [[NSBundle mainBundle] URLForResource:@"demo.jpg" withExtension:nil];
    NSData *data1 = [NSData dataWithContentsOfURL:fileUrl1];
    NSURL *fileURL2 = [[NSBundle mainBundle] URLForResource:@"001.png" withExtension:nil];
    NSData *data2 = [NSData dataWithContentsOfURL:fileURL2];
    NSArray *dataArray = @[data1, data2];
    NSArray *fileNames = @[@"demo.jpg", @"001.png"];
    
//    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url keyName:@"userfile" fileDataArray:dataArray fileNames:fileNames];
//    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url keyName:@"userfile" fileURLs:@[fileUrl1, fileURL2] fileNames:fileNames];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url keyName:@"userfile" fileURLs:@[fileUrl1, fileURL2]];
    
    // 3. connection
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        NSLog(@"%@", [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL]);
    }];
}

// MARK: - 单个文件上传
- (void)postUpload {
    // 1. url
    NSURL *url = [NSURL URLWithString:@"http://localhost/post/upload.php"];
    
    // 2. request
    NSURL *fileUrl = [[NSBundle mainBundle] URLForResource:@"demo.jpg" withExtension:nil];
    NSData *data = [NSData dataWithContentsOfURL:fileUrl];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url keyName:@"userfile" fileData:data fileName:@"bcd.jpg"];
    
    // 3. connection
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        NSLog(@"%@", [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL]);
    }];
}

@end

http://pan.baidu.com/s/1ntqTaWT

© 著作权归作者所有

共有 人打赏支持
沉恋
粉丝 9
博文 148
码字总数 63031
作品 0
苏州
私信 提问
IOS网络--AFNetworking

http://cocoadocs.org/docsets/AFNetworking/2.5.0/ AFNetworking的用法 提交GET请求和POST请求 AFNetworking是第三方框架,阅者自行去官网上下载、安装。 1>创建AFHTTPRequestOpeartionMan...

求是科技
2015/03/16
0
0
LivePhoto开发,你要知道的知识点

前言 Apple从iPhone6s开始支持Live Photo。Live Photo 会录下拍照前后 1.5 秒所发生的一切,因此用户获得的不仅仅是一张精美照片,还有拍照前后时刻的动作和声音。具体的操作可以参见拍照和编...

zhanggui
07/09
0
0
PHP POST接收处理 IOS上传NSData图片数据,上传图片到服务器

【IOS 接收PHP 图片】 1,PHP将图片的URL直接返回给IOS端即可,IOS获取到URL处理,下载缓存就可以在APP端使用了。 【IOS上传图片PHP接收】 1、IOS上传图片可能有很多方法,今天作者我用了这种...

RablePHP
2014/11/28
0
3
苹果私有API检查工具开源项目

iOS-private-api-checker 苹果iOS私有API检查工具 Developer tool to scan iOS apps for private API usage before submitting to Apple https://github.com/hustcc/iOS-private-api-checker......

小薇
2015/11/05
0
0
iOS开发者学习Flutter

Flutter for iOS 开发者 本文档适用那些希望将现有 iOS 经验应用于 Flutter 的开发者。如果你拥有 iOS 开发基础,那么你可以使用这篇文档开始学习 Flutter 的开发。 开发 Flutter 时,你的 ...

鸿鹄当高远
11/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
2
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
4
0
flutter 底部输入框 聊天输入框 Flexible

想在页面底部放个输入框,结果键盘一直遮住了,原来是布局问题 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("评论"), ...

大灰狼wow
昨天
4
0
Kernel I2C子系统

备注:所有图片来源于网络 1,I2C协议: 物理拓扑: I2C总线由两根信号线组成,一条是时钟信号线SCL,一条是数据信号线SDA。一条I2C总线可以接多个设备,每个设备都接入I2C总线的SCL和SDA。I...

yepanl
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部