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