Tuesday, 25 August 2015

Image upload with parameters

- (void) pushView {
    NSDate *today = [NSDate date];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString *dateString = [dateFormatter stringFromDate:today];
    
    CGFloat compression = 0.9f;
    CGFloat maxCompression = 0.1f;
    int maxFileSize = 250*1024;
    
    NSData *imageData = UIImageJPEGRepresentation(snap.image, compression);
    
    while ([imageData length] > maxFileSize && compression > maxCompression)
    {
        compression -= 0.1;
        imageData = UIImageJPEGRepresentation(snap.image, compression);
    }
    
    NSString *urlString = [NSString stringWithFormat:@"%@/ChatImageMucUpload_android.php",kBaseURL];

    NSString *encodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:[NSURL URLWithString:encodedString]];
    [request setHTTPMethod:@"POST"];
    
    NSString *boundary = @"---------------------------14737809831466499882746641449";
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
    [request addValue:contentType forHTTPHeaderField: @"Content-Type"];
    
    NSMutableData *body = [NSMutableData data];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"Content-Disposition: form-data; name=\"userfile\"; filename=\".jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[NSData dataWithData:imageData]];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    
    //date parameter
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"sImageUploadDate\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    
    [body appendData:[dateString dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    //userid parameter
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"sEventId\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    
    [body appendData:[self.sEventid dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    //eventid parameter
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"sCreatorId\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    
    [body appendData:[self.sUserid dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    // close form
    [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    
    
    [request setHTTPBody:body];
    
    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
    //NSLog(@"return : %@", returnString);
    
    if([returnString isEqualToString:@"2"]){
           NSLog(@"not save");

    }else{
          NSLog(@"save");
  }


php

//  database connection
require_once('DataBaseConnection.php');


$strCreatorId = mysql_real_escape_string($_POST['sCreatorId']);
$strEventId = mysql_real_escape_string($_POST['sEventId']);
$strImageUploadDate = mysql_real_escape_string($_POST['sImageUploadDate']);
if (isset($_POST['sCreatorId'])) {
$picnew_id =mysql_result(mysql_query("Select Max(eg_image_id)+1 as MaxID from eaa_gallery"),0,"MaxID");

$uploaddir = $imgurl.'Gallery/';
$file = basename($_FILES['userfile']['name']);
$uploadFile = $file;

$extension = ".".pathinfo($uploadFile, PATHINFO_EXTENSION);

$randomNumber = "img0".$sslocatID."PD".$picnew_id;
$newName = $uploadDir . $randomNumber;

if ($_FILES['userfile']['size']> 3000000) {
exit("Your file is too large."); 
}
$imageurl = 'Gallery/EventId_'.$strEventId;
if (!file_exists($imageurl)) {
$location = mkdir($imageurl, 0777, true);
}
$imageurl1 = $imageurl.'/'.$newName.$extension;
mysql_query('SET CHARACTER SET utf8');
$strSQL = "INSERT INTO eaa_gallery (eg_event_id, eg_event_creatore_id, eg_image_url, eg_upload_date, eg_status)
VALUES ('".$strEventId."','".$strCreatorId."','".$imageurl1."','".$strImageUploadDate."', 1)";

$objQuery = mysql_query($strSQL);
$arr = null;

if(!$objQuery)
{
$arr = 0;
}
else{
if (move_uploaded_file($_FILES['userfile']['tmp_name'],$imageurl1)) {

/////
$fileSize = filesize($imageurl1);

$path_to_image = $imageurl."/".$newName. $extension; //give the name of image here after slash
                 $path_to_thumbnail = $imageurl."/thumbs/".$newName;
if (!file_exists($imageurl."/thumbs/")) {
$location1 = mkdir($imageurl."/thumbs/", 0777, true);
}

                 resize(100,$path_to_thumbnail, $path_to_image);

//createThumbs($imageurl."/",$imageurl."/thumbs/",$newName);

//$arr = $imageurl1;
$arr = $imageurl."/thumbs/".$newName.$extension."-->".$fileSize;
// moving image
}else{
$arr = 2;
// Not moving
}
}
echo json_encode($arr);
mysql_close($objConnect);
}



 function resize($newWidth, $targetFile, $originalFile) {

    $info = getimagesize($originalFile);
    $mime = $info['mime'];

    switch ($mime) {
            case 'image/jpeg':
                    $image_create_func = 'imagecreatefromjpeg';
                    $image_save_func = 'imagejpeg';
                    $new_image_ext = 'jpg';
                    break;

            case 'image/png':
                    $image_create_func = 'imagecreatefrompng';
                    $image_save_func = 'imagepng';
                    $new_image_ext = 'png';
                    break;

            case 'image/gif':
                    $image_create_func = 'imagecreatefromgif';
                    $image_save_func = 'imagegif';
                    $new_image_ext = 'gif';
                    break;

            default: 
                    throw Exception('Unknown image type.');
    }

    $img = $image_create_func($originalFile);
    list($width, $height) = getimagesize($originalFile);

$black = imagecolorallocate($im, 0, 0, 0);

    $newHeight = ($height / $width) * $newWidth;
    $tmp = imagecreatetruecolor($newWidth, $newHeight);

// Make the background transparent
imagecolortransparent($tmp, $black);

    imagecopyresampled($tmp, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);

    if (file_exists($targetFile)) {
            unlink($targetFile);
    }
    $image_save_func($tmp, "$targetFile.$new_image_ext");
}

No comments:

Post a Comment