GWT 中以 Blob 作为属性的模型对象

发布于 2024-11-10 08:22:40 字数 407 浏览 3 评论 0原文

我有一个基于 MVP+App 控制器设计的 GWT 应用程序。我还有一个MySQL数据库作为后端持久存储。

在我的共享文件夹中,我有一个*Feed*模型对象。 Feed 对象将由我的应用程序作为 ArrayList 获取(将其想象为类似 twitter 的应用程序)

我的应用程序中的每个 Feed 模型对象都可以包含一个附加文档。然而它是可选的。如果用户通过单击“我希望提供附件”来请求附件。

我打算将 Blob 引用保留为我的 Feed 对象的属性之一。但是,GWT 不允许对客户端代码使用 Blob 类。(共享 文件夹由客户端和服务器端代码使用) 获取所有 Feed 的附加文档并传递一个字节的数组将占用大量带宽。 :|

有什么可能的解决办法?

I have a GWT application based on the MVP+App Controller Design. I also have a MySQL database as the back-end persistence storage.

In my shared folder I have a *Feed * model object. Feed objects are to be fetched as an ArrayList by my application(Imagining it to be a twitter like Application)

Each Feed Model object in my Application can have an attached document with it. However it is optional. If the user requests for the attachment by clicking I would want to server the Attached document.

I had in mind of keeping a Blob refrence as one of the Attribute of my Feed object. However GWT does not allow using Blob class for Client side code.(shared folder is used by client as well as server side code)
Getting the attached documents for all the Feeds and passing around a byte of Array will take a lot of bandwidth. :|

What can be a possible way around?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

虐人心 2024-11-17 08:22:41

您不能在客户端使用 Blob。正如您所说,您无论如何都不想在模型对象中传递如此大的数据。

您想要做的只是在 Feed 对象中引用 Blob 的 uniqueId。当用户尝试访问该文档时,将带有该 id 作为参数的 http 请求发送到服务器端的 Servlet。此 servlet 将使用 id 从数据库获取 Blob 并将文件作为附件返回(请参阅此处例如设置标头)

You can't use a Blob on client side. And as you said you don't want to pass such large data in your model object anyway.

What you want to do is only have a reference to a uniqueId for the Blob in your Feed object. When the user tries to access the document, send an http request with that id as a parameter to a Servlet on your server side. This servlet will use the id to get the Blob from the database and return the file as an attachment (see here for example to set headers)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文