首页 技术 正文
技术 2022年11月23日
0 收藏 336 点赞 3,462 浏览 2860 个字

#pragma mark – uploadFile
– (void)uploadFile:(NSDictionary *)dic {
   
    NSURL *URL = [[NSURL alloc] initWithString:[NSString stringWithFormat:@”%@addVisitRecord”,SERVER_ADDRESS]];
    request = [[NSMutableURLRequest alloc] initWithURL:URL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30];
    NSString *boundary = @”wfWiEWrgEFA9A78512weF7106A”;
    request.HTTPMethod = @”POST”;
    request.allHTTPHeaderFields = @{@”Content-Type”:[NSString stringWithFormat:@”multipart/form-data; boundary=%@”,boundary]};
    //multipart/form-data格式按照构建上传数据
    NSMutableData *postData = [[NSMutableData alloc] init];
    for (NSString *key in dic) {
        NSString *pair = [NSString stringWithFormat:@”–%@\r\nContent-Disposition: form-data; name=\”%@\”\r\n\r\n”,boundary,key];
        [postData appendData:[pair dataUsingEncoding:NSUTF8StringEncoding]];
       
        id value = [dic objectForKey:key];
        if ([value isKindOfClass:[NSString class]]) {
            [postData appendData:[value dataUsingEncoding:NSUTF8StringEncoding]];
        } else if ([value isKindOfClass:[NSData class]]){
            [postData appendData:value];
        }
        [postData appendData:[@”\r\n” dataUsingEncoding:NSUTF8StringEncoding]];
    }
    //文件部分
    NSString *filename = [filePath lastPathComponent];
    NSString *contentType = AFContentTypeForPathExtension([filePath pathExtension]);
   
    NSString *filePair = [NSString stringWithFormat:@”–%@\r\nContent-Disposition: form-data; name=\”%@\”; filename=\”%@\”;Content-Type=%@\r\n\r\n”,boundary,@”img”,filename,contentType];
    [postData appendData:[filePair dataUsingEncoding:NSUTF8StringEncoding]];
   
    [postData appendData:self.imageSecondFile]; //加入文件的数据
   
    [postData appendData:[[NSString stringWithFormat:@”\r\n–%@–\r\n”,boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    request.HTTPBody = postData;
    [request setValue:[NSString stringWithFormat:@”%lu”,(unsigned long)postData.length] forHTTPHeaderField:@”Content-Length”];
    _connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
    [_connection start];
}
#pragma mark – connection delegate
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
    NSLog(@”reveive Response:\n%@”,response);
}

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
    if (!_reveivedData) {
        _reveivedData = [[NSMutableData alloc]init];
    }
    [_reveivedData appendData:data];
}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
    [[CRMDatahandle shareDataHandle] saveLocalData:@”REFRESH_PLAY” value:@”YES”];
    NSError *err;
    NSDictionary *note = [NSJSONSerialization JSONObjectWithData:_reveivedData  options:NSJSONReadingMutableContainers error:&err];
    if ([note[@”success”] integerValue] == 1) {
        [CRMDatahandle hudWithText:@”添加成功!” atView:self.view];
        [[IQKeyboardManager sharedManager] setEnable:NO];
        [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(succesPaly) userInfo:nil repeats:NO];
    }
  }

下一篇: Java 第一课
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,983
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,500
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,344
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,127
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,761
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,838