0

我已经上传了一个文件作为 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);

但不知道如何处理上面的代码。请给我一个想法

4

1 回答 1

0

参见 BlobstoreService 的函数serve。概述还有一个用于服务 blob的部分。

于 2013-01-02T17:26:18.327 回答