【问题标题】:Uploading Image to PHP Server将图像上传到 PHP 服务器
【发布时间】:2013-11-02 04:05:24
【问题描述】:
-(IBAction)TakePhoto{
    picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    [picker setSourceType:UIImagePickerControllerSourceTypeCamera];
    [self presentViewController:picker animated:YES completion:NULL];
    [picker release];

}

-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    image = [info objectForKey:UIImagePickerControllerOriginalImage];
    [imageView setImage:image];
    [self dismissViewControllerAnimated:YES completion:NULL];

}
-(IBAction)uploadImage{
    NSData *imageData = UIImageJPEGRepresentation(image, 90);
    NSString *urlString = @"http://myserverdomain.com/upload.php";

    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
    [request setURL:[NSURL URLWithString:urlString]];
    [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=\"ipodfile.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]];
    [request setHTTPBody:body];

    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
    NSLog(@"heyo");

}

我正在尝试将图像上传到我的服务器,但图像未显示在“图片”文件夹中。我也收到警告说“未使用的变量returnString”

这是我的 php 脚本

<?php
$msg = " ".var_dump($_FILES)." ";
$new_image_name = $_FILES["file"]["name"];
move_uploaded_file($_FILES["file"]["tmp_name"], getcwd() . "/pictures/" . $new_image_name);

?>

【问题讨论】:

  • 你甚至没有读过它,在 Stackoverflow 上开始不好。我有同样的问题,该文件不会出现在我的服务器路径上,并且它得到了修复。所以阅读它,也许它有用。
  • 问题在于我的目标 c 代码
  • php 代码工作正常,我已经测试过了。还是谢谢

标签: php ios image upload uiimagepickercontroller


【解决方案1】:

试试下面的代码:

<?php
$msg = " ".var_dump($_FILES)." ";
$new_image_name = $_FILES["userfile"]["name"];
move_uploaded_file($_FILES["userfile"]["tmp_name"], getcwd() . "/pictures/" . $new_image_name);

?>

[body appendData:[@"Content-Disposition: form-data; name=\"userfile\"; filename=\"ipodfile.jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];因为您使用的文件名是“userfile”,并在 php 文件中使用“file”名称访问它,这就是为什么您的文件没有上传到服务器上的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-13
    • 2011-02-02
    • 2015-03-29
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多