iOS 到 php 服务器文件上传 - 我应该允许啥文件大小的图像?
Posted
技术标签:
【中文标题】iOS 到 php 服务器文件上传 - 我应该允许啥文件大小的图像?【英文标题】:iOS to php server file upload - what file size image should I allow?iOS 到 php 服务器文件上传 - 我应该允许什么文件大小的图像? 【发布时间】:2014-10-31 17:55:24 【问题描述】:因此,我打算从我的 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";
【问题讨论】:
“我应该允许什么文件大小的图像?” - 这完全取决于您和您的主机允许的内容。在让人们上传非常大的文件之前,请务必检查磁盘空间,随着上传量的增加,嗯......您最终可能会完全没有空间。 【参考方案1】:这取决于你。首先确定图像的分辨率(例如 300x300px?更小?更大?),然后相应地调整文件大小。例如,您当然可以确定 300x300 像素的 jpeg 图像小于 200KB,但如果您想要 3,000 x 3,000 像素的图像,则需要允许几 MB。
base64 是一种仅使用 64 个字符的编码形式,因此比“正常”(非编码)二进制数据大 1/3。
UIImagePickerController
将UIImage
对象返回给委托。您可以通过访问该对象的size
属性(它是一个CGSize
元素)来获取图像的大小。
【讨论】:
谢谢!我真正要寻找的是普通 iphone 5 使用其相机拍摄的默认图像尺寸是多少?这也会在我要假设的以后的设备中发生变化?与我们调用 UIImagePickerController 的相机时弹出的相机相比,相机应用本身是否会拍摄不同大小的图像? 你不能假设任何来自 iPhone 的固定尺寸,因为一切都取决于它使用的相机,如果用户放大(缩放只是数字)等。如果你想要一个特定的尺寸,你可以调整 UIImage 对象的大小。见:***.com/questions/2658738/…以上是关于iOS 到 php 服务器文件上传 - 我应该允许啥文件大小的图像?的主要内容,如果未能解决你的问题,请参考以下文章
iOS 使用 NSURLSessionTask 将多个文件上传到服务器