• iosupload file with formdata onsumed web api 代码片段


    代码 -

    - (IBAction)uploadAction:(id)sender {
        NSString *urlstring=self.urlTextField.text;
        //NSString *poststr=@"";
        NSData *imgData=UIImageJPEGRepresentation(self.previewImageView.image, 0.9f);
        
        NSString *boundary = @"0xKhTmLbOuNdArY";  
        NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary, nil];
        
        NSURL *url=[NSURL URLWithString:urlstring];
        NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];
        [request addValue:contentType forHTTPHeaderField:@"Content-Type"];
     
        [request setHTTPMethod:@"POST"];
        NSMutableData *body = [NSMutableData data];
        NSArray *_params=@[@"submitter",@"username"];
        //add submit formdata
        for (NSString *param in _params) {
            [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
            [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n", param] dataUsingEncoding:NSUTF8StringEncoding]];
            [body appendData:[[NSString stringWithFormat:@"%@\r\n", param] dataUsingEncoding:NSUTF8StringEncoding]];
        }
        
        
        
        [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"Content-Disposition: form-data; name=\"userfile\"; filename=\"iphonefile.jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        //[body appendData:[@"submitter: fromiphone" dataUsingEncoding:NSUTF8StringEncoding]];
        
        [body appendData:[NSData dataWithData:imgData]];
        [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        
        [request setHTTPBody:body];
        NSOperationQueue *queue=[[NSOperationQueue alloc] init];
        [NSURLConnection sendAsynchronousRequest:request queue:queue
                               completionHandler:^(NSURLResponse *respone,
                                                   NSData *data,
                                                   NSError *error)
         {
             if ([data length]>0 && error==nil) {
                 NSString *jsonstring=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
                 //[self.respondTextView setText:jsonstring];
                 NSLog(@"data:%@",jsonstring);
                 //[self performSelectorOnMainThread:@selector(setRespondtext:)withObject:jsonstring waitUntilDone:YES modes:nil];
                 
    //[self performSelectorOnMainThread:@selector(setRespondtext:) withObject:data waitUntilDone:NO];
             }  
         }
         ];    

  • 相关阅读:
    隐藏虚拟网卡
    Eclipse3.2编码选中对象着色
    PHP里的字符串定义小技巧汇总
    【原创】交互型网页防止IP欺骗的技巧
    VS2005的报错让我“二”了一把
    【原创】利用PHP5的__autoload代替繁琐低效的的外部文件包含方式
    关于WebDataWindow.Net的一些开发小细节
    PHP效率损失操作汇总
    动态添加按钮及关联方法(带参数)
    GridView中模版列使用RowCommand事件如何得到当前列的行索引或记录ID
  • 原文地址:https://www.cnblogs.com/neozhu/p/2790455.html
Copyright © 2020-2023  润新知