2

我正在做一些原型设计,我希望有人能帮助我。我正在尝试创建一个Add event to calendar链接,该链接将下载并打开 iCal 文件 (.ics),以便他们可以将其添加到他们的日历中。

我们使用 Jax-RS 和 Jersey 和 tomcat 作为容器,我有这个iCal4j包。客户端是 jQuery/backbone。

  1. 我不确定哪种是返回数据的正确方法。如果我应该在返回之前创建一个 ics 文件并将其存储在某个地方,或者从 iCal4j 发回一个 CalendarOutputter 文件流?
  2. 如果我确实创建了一个 ics 文件,我在哪里存储它?WEB-INF 文件夹?如何?
  3. 如果返回文件流,Jax-RX 的正确 @Produces(?) 是什么?

谢谢,雷

4

1 回答 1

4

您不应创建文件来返回数据。您应该能够直接返回您的日历对象。尝试类似:

@GET
@Path("calendar")
@Produces("text/calendar")
public Response generateCalendar() {
  Calendar calendar = new Calendar();
  // Generate your calendar here
  ResponseBuilder builder = Response.ok();
  builder.header("content-disposition", "attachment;filename=calendar.ics");
  builder.entity(calendar.toString());
  return builder.build();
}
于 2012-08-16T19:59:08.987 回答