2010-05-14 98 views
1

我正在構建一個Google App Engine應用程序,讓用戶上傳圖片;我有一切工作正常,但我努力找到一種方法來確保用戶不會上傳太大的圖像(因爲我正在調整圖像大小,所以這使我的python腳本崩潰)。 當用戶上傳一個大的圖像,我得到這個錯誤Google App Engine Python:獲取圖片上傳大小服務器端

RequestTooLargeError: The request to API call images.Transform() was too large. 

我知道有什麼GAE允許它的形象API大小限制,我只是想找到一種方法來處理這個服務器側;沿線的東西

if (image is too large): 
    inform user 
else: 
    proceed 

我還沒有找到正確的Python代碼做任何運氣;誰能幫我嗎?

+0

以及什麼類型的對象/類型中,貴變換方法走? – 2010-05-14 03:52:39

+0

對不起,我不完全瞭解你的問題;我正在使用enctype = multipart/form-data從HTML表單輸入文件,並嘗試將這些數據發送到Google圖像API。我只是想在我將它發送給Google之前驗證這些數據的大小,並且我得到了異常 – goggin13 2010-05-14 03:58:38

回答

5
from google.appengine.runtime import apiproxy_errors 

... 

try: 
    #the code you are getting the error at 
except apiproxy_errors.RequestTooLargeError, message: 
    print message # or something else 
+0

完美,這就是我一直在尋找的。我嘗試了各種Try-Except,但我錯過了導入語句,所以我甚至無法在引用RequestTooLargeEror時進行編譯。 非常感謝! – goggin13 2010-05-14 19:53:39

+0

我很確定,我必須搜索appengine源代碼,以查找在我第一次遇到它之後聲明此錯誤的位置。很高興它對你有效 :) – bboe 2010-05-14 23:50:30

1

我不知道我完全理解你的問題,但也許嘗試會工作?

try:  
    images.Transform() 
except Transform.RequestTooLargeError: 
    inform 
else: 
    proceed 
+0

是的,那就是我正在尋找的,我只是錯過了引用RequestTooLargeError的適當方式(請參閱上面的bboe答案) 。謝謝你的幫助! – goggin13 2010-05-14 19:55:00

相關問題