2010-02-06 118 views
2

我有一个上传框用于上传图片。我想限制用户上传一个特定大小的图像。例如,用户不能上传大于允许的宽度,高度的图像。如果有人试图选择这样的话,那么我想在上传图片之前在客户端使用javascript向他展示一条消息。如何在上传图片/文件时显示javascript通知?

所以你可以对此有一些想法。我使用我的项目

  • jQuery的

提前感谢以下工具。

+0

无法完成。 – Erik 2010-02-06 07:14:07

+0

我猜如果它不能完成,它不是一个真正的问题? – 2010-02-06 07:27:21

回答

1

它并不完全是你想要的,但是你可以使用PHP的getimagesize()函数来获取上传后的尺寸。如果它太大,而不是将其从临时文件夹复制到上传文件夹,则可以给他一个错误。

通过StackOverflow存档搜索,我似乎无法找到通过Javascript的解决方案。

+0

感谢您的回答。我知道这一点,但我需要在将文件上传到服务器之前的大小。 – 2010-02-06 07:20:27

0

您无法访问客户端的本地文件。要获得图像的大小,您必须以某种方式上传它。如果您不想重新加载页面,您可以在后台使用AJAX将其上传,但这就是它的范围。

编辑:对于后者,你可以使用类似this script。在服务器端文件中,使用$_FILES获取文件,然后使用getimagesize()获取大小。如果大小有效,请保存文件,然后完成上传。如果不是,请回显一条错误消息,并将其传递给回调中的JavaScript,您可以在其中进行美化和显示。

+0

感谢您的早期回复。是的,我知道在上传文件之前,我们无法在客户端获得图片大小。但正是我想要的。否则,我对我的任务还可以。 – 2010-02-06 07:19:51

1

这可能是ActiveX控件或签名的Java Applet客户端,但运行这些需要用户权限。

0

你不能通知他们,但你不能否认上传更大的文件 - 从而节省带宽以及更好的服务器:比当

<input type="hidden" name="MAX_FILE_SIZE" value="size-in-kb" /> 

在php上传过程中,它会发现你的文件甚至没有上传,因为太大了。更多这里: http://forums.devshed.com/php-development-5/max-upload-size-how-to-give-notice-to-user-500259.html

+0

没有浏览器实现这个字段。在将控制权传递给处理程序之前,PHP将放弃该文件,但浏览器仍会完全上传它。 – 2010-02-07 08:33:15

相关问题