我有一個上傳框用於上傳圖片。我想限制用戶上傳一個特定大小的圖像。例如,用戶不能上傳大於允許的寬度,高度的圖像。如果有人試圖選擇這樣的話,那麼我想在上傳圖片之前在客戶端使用javascript向他展示一條消息。如何在上傳圖片/文件時顯示javascript通知?
所以你可以對此有一些想法。我使用我的項目
- 笨
- jQuery的
提前感謝以下工具。
我有一個上傳框用於上傳圖片。我想限制用戶上傳一個特定大小的圖像。例如,用戶不能上傳大於允許的寬度,高度的圖像。如果有人試圖選擇這樣的話,那麼我想在上傳圖片之前在客戶端使用javascript向他展示一條消息。如何在上傳圖片/文件時顯示javascript通知?
所以你可以對此有一些想法。我使用我的項目
提前感謝以下工具。
它並不完全是你想要的,但是你可以使用PHP的getimagesize()
函數來獲取上傳後的尺寸。如果它太大,而不是將其從臨時文件夾複製到上傳文件夾,則可以給他一個錯誤。
通過StackOverflow存檔搜索,我似乎無法找到通過Javascript的解決方案。
感謝您的回答。我知道這一點,但我需要在將文件上傳到服務器之前的大小。 – 2010-02-06 07:20:27
您無法訪問客戶端的本地文件。要獲得圖像的大小,您必須以某種方式上傳它。如果您不想重新加載頁面,您可以在後臺使用AJAX將其上傳,但這就是它的範圍。
編輯:對於後者,你可以使用類似this script。在服務器端文件中,使用$_FILES
獲取文件,然後使用getimagesize()
獲取大小。如果大小有效,請保存文件,然後完成上傳。如果不是,請回顯一條錯誤消息,並將其傳遞給回調中的JavaScript,您可以在其中進行美化和顯示。
感謝您的早期回覆。是的,我知道在上傳文件之前,我們無法在客戶端獲得圖片大小。但正是我想要的。否則,我對我的任務還可以。 – 2010-02-06 07:19:51
這可能是ActiveX控件或簽名的Java Applet客戶端,但運行這些需要用戶權限。
這在現實中並沒有實際意義,但是在(希望不會太遙遠)的將來,您可以使用HTML5文件api來實現這樣的功能。
http://dev.w3.org/2006/webapi/FileAPI/
https://developer.mozilla.org/en/Using_files_from_web_applications
你不能通知他們,但你不能否認上傳更大的文件 - 從而節省帶寬以及更好的服務器:比當
<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將放棄該文件,但瀏覽器仍會完全上傳它。 – 2010-02-07 08:33:15
無法完成。 – Erik 2010-02-06 07:14:07
我猜如果它不能完成,它不是一個真正的問題? – 2010-02-06 07:27:21