我正在开发Web应用程序并使用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();
}
Run Code Online (Sandbox Code Playgroud)
小智 8
您可以通过检查blob的大小来测试是否上传了blob.如果大小为零,则应删除blob.
BlobstoreService bs = BlobstoreServiceFactory.getBlobstoreService();
BlobKey blobKey = bs.getUploads(req).get("blob").get(0);
final BlobInfo blobInfo = new BlobInfoFactory().loadBlobInfo(blobKey);
long size = blobInfo.getSize();
if(size > 0){
//process blob
}else{
bs.delete(blobKey);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1581 次 |
| 最近记录: |