gpt4 book ai didi

java - App Engine (Java) Blobstore : no BlobInfo after successfully storing blob

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:12:07 28 4
gpt4 key购买 nike

根据 App Engine Blobstore 的文档,对于 BlobStore 中的每个条目,DataStore 中应该有一个 BlobInfo 条目。那为什么我的 blobInfo 在下面的代码中是空的呢?

注意:

  • 如果我删除 BlobInfo 代码,servlet 将按应有的方式返回资源(但没有文件名)
  • 为简洁起见,我删除了异常和参数处理

非常感谢您的帮助。

public class GetResourceServlet extends HttpServlet {
private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
private BlobInfoFactory infoFactory = new BlobInfoFactory();

public void doGet ( HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String blobKeyStr = request.getParameter("blob-key");
BlobKey blobKey = new BlobKey(blobKeyStr);

BlobInfo info = infoFactory.loadBlobInfo(blobKey); // returns null !?
String fname = info.getFilename();
response.addHeader("content-disposition", "attachment; filename=" + fname);

blobstoreService.serve(blobKey, response);
}

最佳答案

终于找到问题了。 key 字符串 (blobKeyStr) 在末尾包含一个换行符。令人讨厌的是您在日志记录中没有注意到它。添加 blobKeyStr = blobKeyStr.trim() 解决了问题

关于java - App Engine (Java) Blobstore : no BlobInfo after successfully storing blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12382300/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com