2014-10-31 58 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

相關問題