我正在开发一个网页应用程序,使用GAE/J blobstore教程 http://code.google.com/appengine/docs/java/blobstore/overview.html 。我已经成功上传文件到blobstore。然而,我的问题是:我的表单中“上传文件”选项是可选的。因此,用户可以选择不上传任何文件。由于该字段是可选的,我不会提前验证该字段。但是当我提交表单时,“上传了一个空文档,大小为0KB”的文件被上传到blobstore,因为我无法确定在servlet中用户是否已经选择了任何文件。
我尝试过Apache文件上传(ServletFileUpload.etc),但每次返回null。
所以,我不确定如何在servlet内确定用户是否选择了任何要上传的文件?
Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
if (blobs != null && blobs.size() > 0) {
BlobKey blobkey = blobs.get("myFile");
blobkeyStr = blobkey.getKeyString();
}