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


iOS to php server file upload - what file size image should I allow?

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

  2. 我的第二个问题是,上传base64编码的图像与普通图像相比尺寸更小吗?

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

我的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. 这取决于你。首先决定图像的分辨率(例如300x300px?更小?更大?),然后相应地调整文件大小。例如,您当然可以确定一个300x300px的jpeg图像将小于200KB,但如果您想要一个3000 x 3000 px的图像,则需要允许一些MB。

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

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