2014-10-31 62 views
0
  1. 因此,从我的iOS设备上,我正在计划上传用户的配置文件图片到php服务器。很可能我会为此使用新的AFNetworking。我的问题是,我的php应该允许多大的文件?出于安全原因(为了安全起见),我不想让荒谬的大图像。有没有限制,所有ios图片大小下?如果用户选择他从互联网或其他地方下载的照片并且尺寸较大,会发生什么情况?有没有一种方法可以确保在客户端将文件大小降低(但不影响质量)到一定的大小?iOS到php服务器文件上传 - 我应该允许什么文件大小的图像?

  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"; 
     } 
+0

*“我应该允许什么文件大小的图像?”* - 这完全取决于您和您的主机允许的内容。在让人们上传真正大的文件之前,始终检查磁盘空间,并且随着上传量的增加,呃...最终可能最终没有空间。 – 2014-10-31 17:58:36

回答

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

  2. base64是一种仅使用64个字符的编码形式,因此比“普通”(非编码)二进制数据大1/3。

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

+0

谢谢!我真正想要的是普通iphone 5用相机拍摄的默认图像大小是多少?这也将在我将承担的后续设备中发生变化?与我们称之为UIImagePickerController的相机时弹出的相机相比,相机应用程序本身是否具有不同大小的图像? – 2014-10-31 18:14:21

+1

您不能从iPhone假设任何固定尺寸,因为如果用户放大(缩放仅为数字)等,所有一切都取决于所使用的相机,等等。如果您想要特定尺寸,则可以调整UIImage对象的大小。请参阅:http://stackoverflow.com/questions/2658738/the-simplest-way-to-resize-an-uiimage – Qualcuno 2014-10-31 19:50:59

+0

好吧很酷。公认! – 2014-10-31 20:04:30

相关问题