【问题标题】:Stop Blob URL from expiring阻止 Blob URL 过期
【发布时间】:2011-06-01 14:46:54
【问题描述】:

我正在将图像上传到 Blob 商店。我已经复制了示例 从 here

我遇到的唯一问题是:如果我用表单加载页面,并且 不立即提交图像。 URL 可能会过期,我什么时候过期 尝试加载图像我得到一个错误页面。我怎样才能检查是否 URL 已过期并在用户不知情的情况下刷新 URL?

【问题讨论】:

    标签: java google-app-engine blobstore


    【解决方案1】:

    似乎解决方法是在用户提交表单时获取 Blob URL。这样您就知道 URL 不会过期。

    使用 JQuery:

    $.get("/blobUrl", function(data){
        $("#changeProfilePictureForm").attr('action', data);
        $("#changeProfilePictureForm").submit();
        $("#changeProfilePictureForm").hide();
        $("#loadingImg").show();
    }); 
    

    【讨论】:

    • 这也是我能想出的唯一解决方案,它确实解决了问题,还解决了如下所述的导航返回问题:appengine-cookbook.appspot.com/recipe/…
    • 你能举一个稍微充实一点的例子吗?我不知道把这段代码放在哪里。它是表单提交的一部分吗?它是按钮附加的一些功能吗?抱歉,我不是 jquery 专家。
    • 当用户单击上传按钮时将使用此代码,看起来类似于 $("#uploadButton").click(function(){$.get("/blobUrl", function( data){ $("#changeProfilePictureForm").attr('action', data); $("#changeProfilePictureForm").submit(); $("#changeProfilePictureForm").hide(); $("#loadingImg" ).show(); }); });
    【解决方案2】:

    我对此不是 100% 确定,但我看到网站刷新页面的某些部分而没有真正刷新页面。 Twitter 是嵌套示例之一,它将最新内容加载到页面顶部而不刷新它。

    According to this website你可以通过xml和php获取动态内容,无需刷新页面。因此,如果用于上传图片的表单有时间限制,您可以尝试这样的功能来刷新表单,而无需实际刷新页面。

    现在,如果 url 的时间有限,或者整个页面都有 cookie,您需要找到一种方法来更新或扩展 cookie,API 可能会或可能不会根据谷歌如何做设置它。

    我想如果最坏的情况发生了,您可以尝试通过 html 函数在页面上自动刷新,但如果此人正在上传图片并且页面刷新,他们可能会丢失所有进度。

    很抱歉,如果这不是最有帮助的事情,但我想我会尝试就如何让球滚动提供一些意见。

    【讨论】:

      【解决方案3】:

      多久后 URL 就会过期?您怎么知道是过期导致了您的问题?我没有看到 Google API 文档提到这一点。另外,抛出什么异常。您能否在服务器端捕获它并使用新生成的上传 URL 将用户发送回同一页面。我知道这不能满足您对用户不知道发生这种情况的要求。

      我想一种选择是找出 URL 过期多长时间,然后使用 JavaScript 在超时附近异步调用您的服务器,检索新的上传 URL 并更改 DOM 中的 URL。

      但是,捕获异常并重新呈现的解决方案听起来最好,因为我认为 URL 应该仅在用户空闲相当长的时间后才过期?

      【讨论】:

      • 我不知道异常在哪里,似乎是在 Blobstore 方面。 temporary-blobstore-error.appspot.com 这是我被带到的页面。我无法在开发服务器上重现此问题。
      • @Lumpy 我认为我们需要深入了解您的问题。您可以在 appengine.google.com 的仪表板中查看日志 - 您可以登录到那里并在您的问题中提供一个关于抛出什么错误的摘录,即堆栈跟踪。
      • 我这边没有错误,错误在blobstore这边。我的处理程序永远不会被调用,因为 blobstore 永远不会返回。我查看了日志,上传或表单页面没有异常。
      • 抱歉,您被重定向到错误站点。这只发生在您在上传文件之前让页面空闲时?由于重定向到该站点,Google Groups 似乎充斥着人们说 blobstore 不可靠的说法。谷歌没有给你一些问题的迹象是不好的。
      • Google 似乎就是这种情况。他们的一些服务很棒,其他的像 blobstore 和他们的购物车 API 很糟糕。似乎他们所迎合的观众非常少,如果你不是那个观众,那你就很不走运了。
      猜你喜欢
      • 1970-01-01
      • 2018-08-26
      • 2023-03-12
      • 2015-06-22
      • 2018-03-17
      • 2020-01-08
      • 2014-03-02
      • 1970-01-01
      • 2020-02-09
      相关资源
      最近更新 更多