Python と jinja フレームワークで Google アプリ エンジンを使用しています。
ユーザーが画像をアップロードしてサムネイルで使用できるようにしたいと考えています。
画像はサムネイル用で 10 個までなので、データベースを使用しない理由はありません。
これが私のhtmlです
<form class="reg-page" method="post" enctype="multipart/form-data" />
<label>Name </label>
<input type="text" class="span12" name="name" value={{name}}>
<label>Description </label>
<textarea class="span12" name="description" value={{description}}></textarea>
<label>Photo </label>
<div class="fileupload fileupload-new" data-provides="fileupload">
<div>
<span class="btn btn-file"><span class="fileupload-new">Select image</span>
<span class="fileupload-exists">Change</span><input name="image" type="file" /></span>
<a href="#" class="btn fileupload-exists" data-dismiss="fileupload">Remove</a>
</div>
</div>
<button class="btn-u pull-right" type="submit">Εγγραφή </button>
</form>
{{test}}
バックエンドはシンプルです:
class ImgUpload(db.Model):
name = db.StringProperty()
description = db.StringProperty(multiline=True)
img_img = db.BlobProperty()
class testhandler(BaseHandler):
def get(self):
self.render("test.html")
def post(self):
images = ImgUpload()
name = self.request.get('name')
description = self.request.get('description')
img_img = image = self.request.get("image")
images.img_img = db.Blob(img_img)
images.name = name
images.description = description
images.put()
u = ImgUpload.gql("WHERE name = '%s'"%name).get()
self.response.out.write("""<img src="/test?test=%s"></img>""" %u.key())
app = webapp2.WSGIApplication([("/test",testhandler)
],debug=True)
コードを実行すると、破損したイメージが表示されます。