我正在尝试阻止不需要的内容类型的上传文件。我正在使用code from documentation:
class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
upload_files = self.get_uploads('file') # 'file' is file upload field in the form
blob_info = upload_files[0]
self.redirect('/serve/%s' % blob_info.key())
我发现在最后一行重定向之前,blob已经在blobstore中了,所以剩下要做的就是检查它的内容类型,如果不需要就执行删除。
有没有其他方法可以在文件到达blobstore之前将其丢弃?
答案 0 :(得分:2)
在它到达Blobstore之前执行此操作的唯一方法是在客户端,例如通过使用javascript检查文件的扩展名。
一旦它击中你的UploadHandler它已经在BlobStore中。
答案 1 :(得分:2)
你也可以尝试<input>
的{{3}}属性,但并不是所有浏览器都支持它,如果你真的想要,你可以尝试一些Flash或Java Applet解决方案,如另一个{ {3}}。我个人会去服务器端检查并删除。