我正在使用此代码将图片上传到云端存储:
class uploadImageTOCloudStorage(webapp2.RequestHandler):
def post(self):
image = self.request.get("file")
gcs_file=gcs.open(GCS_BUCKET_NAME+'testImage.png', 'w')
gcs_file.write(image.encod('utf-8'))
gcs_file.close()
self.response.write("succeed !")
和此表单发送图片:
<form action="http://myappId.appspot.com/test/uploadImage" method="post">
<input type="file" name="file" value='file'><br>
<input type="submit" value="Submit">
</form
如何在将图像保存到云存储中之前检查图像的大小和类型?
&GT;
答案 0 :(得分:2)
如果将enctype =“multipart / form-data”添加到表单元素,则可以使用图像数据使用如下代码实例化Image对象:
(特别注意提取和分割mime类型以检测有效图像格式的方式,以及我们使用google.appengine.api.images类Image在使用构造函数后提取尺寸的事实并传递原始图像数据)
import webapp2
import google.appengine.api.images as images
class Uploader(webapp2.RequestHandler):
def post(self):
img_stream = self.request.get ('file')
mimetype = self.request.POST['file'].type
img_format = mimetype.split('/')[1]
if (img_format == 'jpeg' or 'jpg' or 'gif' or 'png' or 'bmp' or 'tiff' or 'ico' or 'webp'):
imageObj = images.Image (img_stream)
width = imageObj.width
height = imageObj.height
self.response.out.write ('<html><body>uploaded image is %s x %s [%s]</body></html>' % (width, height, img_format))
else:
self.response.out.write ('not valid format')