iOS到php服务器文件上传 - 我应该允许什么文件大小的图像?

时间:2014-10-31 17:55:24

标签: php ios size afnetworking afnetworking-2

  1. 因此,从我的iOS设备,我计划将用户的个人资料图片上传到php服务器。我很可能会为此使用新的AFNetworking。我的问题是,我应该在php端允许多大的文件?出于安全考虑(为了安全起见),我不想让荒谬的大图像。所有ios pic大小都有限制吗?如果用户选择从互联网或其他地方下载并且尺寸更大的图片,会发生什么?有没有办法确保文件大小减少(不影响质量)到客户端的特定大小?

  2. 我有第二个问题 - 上传base64编码图像的尺寸比普通图像小吗?

  3. 最后一个问题 - 在ios设备上,有没有办法检查图像的大小?我相信这有一些应用程序。 (没有代码)

  4. 我的php后端看起来像:

          $target_dir = "/Users/username/foldername/";
          $target_dir = $target_dir . basename( $_FILES["uploadFile"]["name"]);
          $uploadOk=1;
    
          if ($_FILES["uploadFile"]["size"] > 500000) {
            echo "Sorry, your file is too large.\n";
            $uploadOk = 0;
          } 
          if ($_FILES["uploadFile"]["type"] != "image/png") {
              echo "Sorry, only png files are allowed. Your file type was ". $uploadFile_type;
              $uploadOk = 0;
          } 
          if ($uploadOk == 1){
              if (move_uploaded_file($_FILES["uploadFile"]["tmp_name"], $target_dir)) {
                echo "The file ". basename( $_FILES["uploadFile"]["name"]). " has been uploaded.\n";
              } else {
                  echo "Sorry, there was an error uploading your file.\n";
              }
          }
          else {
                  echo "Sorry, there was an error uploading your file.\n";
          }
    

1 个答案:

答案 0 :(得分:1)

  1. 这取决于你。首先确定图像的分辨率(例如300x300px?较小?较大?),然后相应地调整文件大小。例如,您当然可以确定300x300px jpeg图像小于200KB,但如果您想要3,000 x 3,000像素图像,则需要允许几MB。

  2. base64是一种编码形式,只使用64个字符,因此比#34;正常"大1/3。 (非编码的)二进制数据。

  3. UIImagePickerController向委托返回UIImage个对象。您可以获取访问该对象的size属性的图像大小(它是CGSize元素。)