在哪里放置 pdf 文件 - 在执行期间创建 - 以供用户下载
Where to place a pdf file -created during execution time- to be downloadable by a user
如果使用应用程序中的 link,My play 应用程序的控制器功能可以创建 pdf 文件。这在 开发模式 中运行良好。但是,我需要知道该 pdf 文件的保存位置,因此如果我的应用程序在 生产模式 中是 运行,那么该 pdf 文件将能够由我的控制器的功能创建并且也可以下载。我正在考虑使用:
import com.typesafe.sbt.packager.MappingsHelper._
mappings in Universal ++= directory(baseDirectory.value / "public")
在我的 build.sbt 文件中并以某种方式将该 pdf 文件保存在那里,但据我了解,此文件夹主要用于应用程序 运行 之前所需的静态资源。我对吗?有没有更好的方法?
自定义文件夹声明 有答案,如果您 运行 从 bin
文件夹中安装您的应用程序并且您正在使用 Process
,命令向上执行一个文件夹;但是我认为为了更简洁的架构你应该这样做:
不要在应用程序 运行ning
中保存您的 PDF
这应该是显而易见的,因为对于每个部署,您都必须将 pdf 复制粘贴到新的部署文件夹中。而且,如果您只生成一个且只有一个 pdf,则不需要添加文件夹。最简单的形式,你可以解决这个问题,同时拥有一个干净的架构是使用第三方服务(例如,AWS S3
);然后您可以将 pdf 保存到一个唯一的地址(在 S3 中又名 Bucket
);具有唯一的格式名称(例如 useraname-date.pdf
)。
在 S3 中,您可以使用一条干净的路径 username/billing/month/
;然后你可以在那里添加文件;所以你在做三件事:1.你正在组织pdf存储和2.你可以创建存储的历史。 3. 你知道什么月份可以访问正确的 pdf。
最后一点:可伸缩性。您现在可以 运行 多个应用程序实例,并且两者都可以使用相同的资源。
如果使用应用程序中的 link,My play 应用程序的控制器功能可以创建 pdf 文件。这在 开发模式 中运行良好。但是,我需要知道该 pdf 文件的保存位置,因此如果我的应用程序在 生产模式 中是 运行,那么该 pdf 文件将能够由我的控制器的功能创建并且也可以下载。我正在考虑使用:
import com.typesafe.sbt.packager.MappingsHelper._
mappings in Universal ++= directory(baseDirectory.value / "public")
在我的 build.sbt 文件中并以某种方式将该 pdf 文件保存在那里,但据我了解,此文件夹主要用于应用程序 运行 之前所需的静态资源。我对吗?有没有更好的方法?
自定义文件夹声明 bin
文件夹中安装您的应用程序并且您正在使用 Process
,命令向上执行一个文件夹;但是我认为为了更简洁的架构你应该这样做:
不要在应用程序 运行ning
中保存您的 PDF这应该是显而易见的,因为对于每个部署,您都必须将 pdf 复制粘贴到新的部署文件夹中。而且,如果您只生成一个且只有一个 pdf,则不需要添加文件夹。最简单的形式,你可以解决这个问题,同时拥有一个干净的架构是使用第三方服务(例如,AWS S3
);然后您可以将 pdf 保存到一个唯一的地址(在 S3 中又名 Bucket
);具有唯一的格式名称(例如 useraname-date.pdf
)。
在 S3 中,您可以使用一条干净的路径 username/billing/month/
;然后你可以在那里添加文件;所以你在做三件事:1.你正在组织pdf存储和2.你可以创建存储的历史。 3. 你知道什么月份可以访问正确的 pdf。
最后一点:可伸缩性。您现在可以 运行 多个应用程序实例,并且两者都可以使用相同的资源。