php - AFNetworking upload image -
i'm trying upload image server ios app, "unsuccessful" in php script keep tricking. doing wrong?
the log returns "file = unsuccessful" , then binary file numbers.
ios (upload image):
-(ibaction)uploadphoto:(id)sender{ afhttprequestoperationmanager *manager = [[afhttprequestoperationmanager alloc] initwithbaseurl:[nsurl urlwithstring:@"http://serverurl"]]; manager.responseserializer = [afhttpresponseserializer serializer]; nsdata *imagedata = uiimagejpegrepresentation(pickedimage, 0.5); nsdictionary *parameters = @{@"message": self.descriptionview.text}; afhttprequestoperation *op = [manager post:@"rest.of.url" parameters:parameters constructingbodywithblock:^(id<afmultipartformdata> formdata) { //do not put image inside parameters dictionary did, append it! [formdata appendpartwithfiledata:imagedata name:@"file" filename:@"upload.jpg" mimetype:@"image/jpeg"]; } success:^(afhttprequestoperation *operation, id responseobject) { nslog(@"success: %@ ***** %@", operation.responsestring, responseobject); } failure:^(afhttprequestoperation *operation, nserror *error) { nslog(@"error: %@ ***** %@", operation.responsestring, error); }]; [op start]; [self dismissviewcontrolleranimated:yes completion:nil]; } } php code:
<? if(!empty($_post)) { $message = $_post['message']; $directory = $_server['document_root'] . '/pictures'; $file = basename($_files['userfile']['upload.jpg']); $uploadfile = $directory . $file; var_dump($_files); $randomphotoid = md5(rand() * time()); echo 'file='.$file; if (move_uploaded_file($_files['userfile']['tmp_name'], $uploadfile)) { echo 'successful'; } else { echo 'unsuccessful'; } } else { echo('empty post data'); } ?>
don't forget / @ end of directory because concatenate filename:
$directory = $_server['document_root'] . '/pictures/'; if still issue try add more checks:
<?php if(isset($_post)) { $message = $_post['message']; if(is_uploaded_file($_files['userfile']['tmp_name']){ //we got something, set $directory = $_server['document_root'] . '/pictures/'; $file = basename( $_files['userfile']['name']); $uploadfile = $directory . $file; $randomphotoid = md5(rand() * time()); //perform upload if(move_uploaded_file($_files['userfile']['tmp_name'], $uploadfile)) { echo 'successful'; } else { echo 'unsuccessful'; } }else{ echo "nothing uploaded"; } }else{ echo 'post not set cannot proceed upload'; }
Comments
Post a Comment