现在的位置: 首页 > 综合 > 正文

带图片的Post请求

2018年07月13日 ⁄ 综合 ⁄ 共 1856字 ⁄ 字号 评论关闭

-(void)AssendIMGWithURL:(NSString *)urlstring
{
    //分界线的标识符  
    NSString *TWITTERFON_FORM_BOUNDARY = @"AaB03x";  
    //根据url初始化request  
    NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlstring]  
                                                           cachePolicy:NSURLRequestReloadIgnoringLocalCacheData  
                                                       timeoutInterval:10];  
    [request setValue:@"123" forHTTPHeaderField:@"_email"];
    
    //分界线 --AaB03x  
    NSString *MPboundary=[[NSString alloc]initWithFormat:@"--%@",TWITTERFON_FORM_BOUNDARY];  
    //结束符 AaB03x--  
    NSString *endMPboundary=[[NSString alloc]initWithFormat:@"%@--",MPboundary];  
    //要上传的图片  
    NSData *data = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"IMG_1623" ofType:@"JPG"]];
    //http body的字符串  
    NSMutableString *body=[[NSMutableString alloc]init];  
    
    ////添加分界线,换行  
    [body appendFormat:@"%@\r\n",MPboundary];  
    //声明pic字段,文件名为boris.png  
    [body appendFormat:@"Content-Disposition: form-data; name=\"file\"; filename=\"IMG_1623.JPG\"\r\n"];  
    //声明上传文件的格式  
    [body appendFormat:@"Content-Type: image/png\r\n\r\n"];  
    
    //声明结束符:--AaB03x--  
    NSString *end=[[NSString alloc]initWithFormat:@"\r\n%@",endMPboundary];  
    //声明myRequestData,用来放入http body  
    NSMutableData *myRequestData=[NSMutableData data];  
    //将body字符串转化为UTF8格式的二进制  
    [myRequestData appendData:[body dataUsingEncoding:NSUTF8StringEncoding]];  
    //将image的data加入  
    [myRequestData appendData:data];  
    //加入结束符--AaB03x--  
    [myRequestData appendData:[end dataUsingEncoding:NSUTF8StringEncoding]];  
    
    //设置HTTPHeader中Content-Type的值  
    NSString *content=[[NSString alloc]initWithFormat:@"multipart/form-data; boundary=%@",TWITTERFON_FORM_BOUNDARY];  
    //设置HTTPHeader  
    [request setValue:content forHTTPHeaderField:@"Content-Type"];  
    //设置Content-Length  
    [request setValue:[NSString stringWithFormat:@"%d", [myRequestData length]] forHTTPHeaderField:@"Content-Length"];  
    //设置http body  
    [request setHTTPBody:myRequestData];  
    //http method  
    [request setHTTPMethod:@"POST"];    
    
    //建立连接,设置代理  
    NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];  
    conn = conn;
}

抱歉!评论已关闭.