2011-12-23 90 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); 
}