【问题标题】:How to show javascript notification during a uploading an image/File?如何在上传图像/文件期间显示 javascript 通知?
【发布时间】:2010-02-06 07:01:10
【问题描述】:

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

那么您能对此有所了解吗?我正在为我的项目使用以下工具

  • 代码点火器
  • jQuery

提前致谢。

【问题讨论】:

  • 我猜如果它不能完成,它不是一个真正的问题?

标签: php codeigniter file-upload


【解决方案1】:

它不是“完全”您想要的,但您可以在上传后使用 PHP 的 getimagesize() 函数来获取尺寸。如果太大了,与其从temp文件夹复制到uploads文件夹,不如给他报错。

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

【讨论】:

  • 感谢您的回答。我知道这一点,但在将文件上传到服务器之前我需要大小。
【解决方案2】:

这可以使用 ActiveX 控件或签名的 Java Applet 客户端,但运行这些需要用户许可。

【讨论】:

    【解决方案3】:

    您无法在客户端访问本地文件。要获得图像的大小,您必须以一种或另一种方式上传它。如果您不想重新加载页面,您也许可以在后台使用 AJAX 上传它,但仅此而已。

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

    【讨论】:

    • 感谢您的早日回复。是的,我知道在上传文件之前我们不能在客户端获得图像大小。但正是我想要这个。否则我可以完成我的任务。
    【解决方案4】:

    目前这在实际意义上没有用,但在(希望不会太远)将来,您可以使用 HTML5 文件 api 来做类似的事情。

    http://dev.w3.org/2006/webapi/FileAPI/

    https://developer.mozilla.org/en/Using_files_from_web_applications

    【讨论】:

      【解决方案5】:

      你不能通知他们,但你不能拒绝上传更大的文件——从而节省带宽并对服务器更好:

      <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

      【讨论】:

      • 没有浏览器实现这个字段。 PHP 将在将控制权传递给您的处理程序之前丢弃该文件,但浏览器仍会完全上传它。
      猜你喜欢
      • 1970-01-01
      • 2013-01-16
      • 2015-10-21
      • 2011-02-21
      • 1970-01-01
      • 2012-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多