2010-05-14 92 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