因此,从我的iOS设备,我计划将用户的个人资料图片上传到php服务器。我很可能会为此使用新的AFNetworking。我的问题是,我应该在php端允许多大的文件?出于安全考虑(为了安全起见),我不想让荒谬的大图像。所有ios pic大小都有限制吗?如果用户选择从互联网或其他地方下载并且尺寸更大的图片,会发生什么?有没有办法确保文件大小减少(不影响质量)到客户端的特定大小?
我有第二个问题 - 上传base64编码图像的尺寸比普通图像小吗?
最后一个问题 - 在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 :(得分:1)
这取决于你。首先确定图像的分辨率(例如300x300px?较小?较大?),然后相应地调整文件大小。例如,您当然可以确定300x300px jpeg图像小于200KB,但如果您想要3,000 x 3,000像素图像,则需要允许几MB。
base64是一种编码形式,只使用64个字符,因此比#34;正常"大1/3。 (非编码的)二进制数据。
UIImagePickerController
向委托返回UIImage
个对象。您可以获取访问该对象的size
属性的图像大小(它是CGSize
元素。)