jjzjj

php - iphone SDK : Upload image from iphone to a php Server send empty file ?(里面有示例代码链接)

coder 2024-04-18 原文

我尝试通过 PHP 将照片和 GPS 位置发送到服务器

这是 PHP 部分:Copy from here 保存上传的文件

以上示例在服务器上的 PHP 临时文件夹中创建上传文件的临时副本。

脚本结束时,临时复制的文件会消失。要存储上传的文件,我们需要将其复制到不同的位置:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

上面的脚本检查文件是否已经存在,如果不存在,它将文件复制到指定的文件夹。

注意:此示例将文件保存到名为“上传”的新文件夹

现在回到 iOS 部分,我只能将 GPS 位置发送到服务器,这很简单,因为只是一个字符串。

你可以download sample code here

但是图片不是,我搜索了一下发现了这个discussion

我直接把代码放在我的发送GPS&图像按钮

最棒的是它可以反馈我发送文件成功还是失败

这是我将照片发送到服务器后收到的最多消息

1.无效文件

2.返回码:
上传:
类型:
大小:0 Kb
临时文件:
存储于:上传/

我按照一些指南将图像保存到 NSData

NSData *photoData= UIImageJPEGRepresentation(self.theimageView.image, 1.0);

我也检查里面有没有数据

所以只需将这段代码添加到按钮操作中

if (photoData == nil) {
    NSLog(@"The photo is nothing !!!");
}
else {
    NSLog(@"Photo inside !!!!");

它工作正常.......

但是如何将图片上传到服务器???

也许我需要给一个文件名然后上传它???

但是如何...

我从来没有使用过相机功能和上传数据

希望有人能解决这个问题

非常感谢!!!

最佳答案

使用 HTTP 多部分 POST 或 ASIHTTPRequest


@WebberLai

Save the image to home directory:
 NSString  *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/image.jpg"];
    UIImage *img = pickerImage;


// Write a UIImage to JPEG with minimum compression (best quality) 
    [UIImageJPEGRepresentation(img, 0.5) writeToFile:jpgPath atomically:YES];

    NSString *photoPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/image.jpg"];

    request = [ASIFormDataRequest requestWithURL:webServiceUrl];
    [request setPostValue:requestString forKey:@"data"];
    [request setFile:photoPath forKey:@"apiupload"];
    [request startSynchronous];

关于php - iphone SDK : Upload image from iphone to a php Server send empty file ?(里面有示例代码链接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3985515/

有关php - iphone SDK : Upload image from iphone to a php Server send empty file ?(里面有示例代码链接)的更多相关文章

随机推荐