我已经上传了一个文件作为 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);
但不知道如何处理上面的代码。请给我一个想法