[英]Uploading image picker photo ios
我有圖像選擇器從內置攝像頭檢索圖像:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[info objectForKey:UIImagePickerControllerEditedImage];
UIImage *chosenImage = info[UIImagePickerControllerOriginalImage];
self.imageView.image = chosenImage;
NSData *image = UIImagePNGRepresentation(chosenImage);
[self setImageDataToSend:image];
[picker dismissViewControllerAnimated:YES completion:NULL];
}
然后,我想使用http上傳照片
像這樣:
NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed:@"image.png"]);
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]
initWithURL:[NSURL
URLWithString:@"http://******.co.uk/***/imageupload.php"]];
[request setHTTPMethod:@"POST"];
[request setValue:@"image/png"
forHTTPHeaderField:@"Content-type"];
[request setValue:[NSString stringWithFormat:@"%lu",
(unsigned long)[imageData length]]
forHTTPHeaderField:@"Content-length"];
[request setHTTPBody:imageData];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
這會從應用程序中選擇一個名為“image.png”的圖像。 我希望它從圖像選擇器中獲取NSData *圖像
這里也是imageupload.php
:
<?php
$handle = fopen("image.png", "wb"); // write binary
fwrite($handle, $HTTP_RAW_POST_DATA);
fclose($handle);
print "Received image file.";
?>
你知道更好的方法嗎?
您使用要發送的數據調用方法setImageDataToSend:
然后在此行中忽略它:
NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed:@"image.png"]);
您可能想要省略該行並進行更改:
[request setHTTPBody:imageData];
至:
[request setHTTPBody:[self imageDataToSend]];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.