我已将文件作为blob商店上传,并存储在本指南Uploading file to Google App engine的Google应用引擎中。现在我正在尝试显示文件名,以及当用户点击文件时要下载的相应文件。我不知道如何下载blob文件原来我上传的方式。我试过这个,
Query query = new Query("__BlobInfo__");
query.addFilter("filename", Query.FilterOperator.EQUAL, req.getParameter("name"));
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
PreparedQuery pq = datastore.prepare(query);
List<Entity> entList = pq.asList(FetchOptions.Builder.withLimit(1));
if (entList.size() > 0) {
BlobKey blobKey = new BlobKey(entList.get(0).getKey().getName());
BlobInfoFactory bi = new BlobInfoFactory();
String fname = bi.loadBlobInfo(blobKey).getFilename();
if (fname.contains(".mp3") || fname.contains(".aac")) {
res.setContentType("application/octet-stream");
res.setHeader("Content-Type", "save as filename=" + fname);
但在上面的代码之后不知道如何处理。请建议我一个想法