iphone上传图片https发布

时间:2011-12-23 04:42:44

标签: iphone https upload

我正在尝试使用post方法上传带有https的图片。

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

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

非常感谢

例如:

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"];

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

请阅读此代码...阅读此代码后,您知道“如何使用帖子连接”....意味着通过帖子连接上传到图像并使用删除方法

-(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);
}