2011-12-23 108 views
0

我想用https上传一张图片使用post方法。iphone上传图片https post

我已经知道如何将图片上传到http服务器。

要将图片上传为https,我只需要在http上添加一个s?

感谢很多

例如:

NSString *urlString = @"http://192.168.10.30:8080/thek_save/JSP/file_upload.jsp"; 
// setting up the request object now 
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:urlString]]; 
[request setHTTPMethod:@"POST"]; 

回答

1

您可以在POST上使用上传图片到HTTP的相同代码。只需将“HTTP://”替换为“HTTPS://”即可。 您应该在HTTPS连接上安装有效的SSL证书

0

请阅读此代码...在你读完这段代码ü知道“如何使用连接柱” ......指上传到图片post连接并使用代理方法

-(void) sendImageToServer 
{ 

     NSURL *postURL = [NSURL URLWithString:[NSString stringWithFormat:@"@"http://192.168.10.30:8080/thek_save/JSP/file_upload.jsp";]]; 

     NSMutableURLRequest *postRequest = [NSMutableURLRequest requestWithURL:postURL 
                    cachePolicy:NSURLRequestUseProtocolCachePolicy 
                   timeoutInterval:30.0]; 

     // change type to POST (default is GET) 
     [postRequest setHTTPMethod:@"POST"]; 

     NSMutableData *postBody = [NSMutableData data]; 


     // just some random text that will never occur in the body 
     NSString *stringBoundary = @"0xKhTmLbOuNdArY---This_Is_ThE_BoUnDaRyy---pqo"; 

     // header value 
     NSString *headerBoundary = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",stringBoundary]; 

     // set header 
     [postRequest addValue:headerBoundary forHTTPHeaderField:@"Content-Type"]; 


     // image ------------ 

     [postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
     [postBody appendData:[@"Content-Disposition: form-data; name=\"image\"; filename=\"image.png\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
     [postBody appendData:[@"Content-Type: image/png\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
     [postBody appendData:[@"Content-Transfer-Encoding: binary\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
     // add it to body 


     NSData *data = UIImageJPEGRepresentation(img, 90); 

     [postBody appendData:data]; 
     [postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 

    /// UIImage *testImage = [UIImage imageWithData:data]; 


     // final boundary 
     [postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]]; 


     // add body to post 
     [postRequest setHTTPBody:postBody]; 

     NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:postRequest delegate:self]; 

     if(theConnection) 
     { 
      webData = [NSMutableData data] ; 
     } 
     else 
     { 
      NSLog(@"theConnection is NULL"); 
     } 

    } 

///Use Delegete 
#pragma mark - 
#pragma mark ConnectionDelegate 
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    [webData setLength: 0]; 
} 
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    [webData appendData:data]; 
} 
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error 
{ 
    NSLog(@"ERROR with theConenction"); 

} 
-(void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
    NSLog(@"DONE. Received Bytes: %d", [webData length]); 
    NSString *theXML = [[NSString alloc] initWithBytes: [webData mutableBytes] length:[webData length] encoding:NSUTF8StringEncoding]; 
    NSLog(@"%@",theXML); 
}