播放上传文件(数据库和资产)

Play upload File (Database and assets)

用户需要从表单上传一些图片文件。 此图像文件需要保存到 public/ 文件夹。 我也需要有一个视图来显示这些图像。 (来自 URL ?,资产?) 我该如何进行? 我需要将文件名保存在我的数据库中吗? (image.png?) 路径? ("public/images/image.png"?) URL 文件? (IE localhost/assets/images/image.png?)

如果我保存 URL,我怎样才能得到我需要稍后删除的文件。 如果我保存 public 路径,如何从 ?

获取 URL

谢谢。

  1. 在 table 中创建一列说 image_name 设置其默认值说 default.png.
  2. 在 public 文件夹中创建一个文件夹说 images
  3. /public/images/default.png 中保存默认图像(与保存到数据库的默认名称同名)。因此,如果用户有任何上传图像,则会显示默认图像。
  4. 要上传图片从表单获取图片:

    一个。将图像名称更改为 1.png(其中 1 是该用户的 ID,其他用户可能会有所不同 user.You 也可以选择一些唯一的标记)并将图像保存到目录 /public/images/.

    b。然后更新数据库中的列 image_name 这次是 1.png.

  5. 通过以下方式访问页面中的图像:

<img src="@routes.Assets.at("images/"+user.image_name)" alt="your image" />

其中 user 是用户对象,image_name 变量名(列名)。因此每次传递不同的用户对象并显示其相关图像。

现在如果你想delete.Do

String imagePath = Play.application().path().getPath() + "/public/images";

上面会给你图片路径, 从数据库中获取图像名称并删除图像(您可以使用 file.delete()).