1

我正在创建一个允许用户上传音频的网络应用程序,我的问题是我应该将它们放在哪里?我应该把它们放在里面Web-Content吗?还是在里面WEB-INF?(我不考虑为这些文件使用数据库,因为大多数音频文件都很大)上传和存储文件的最佳做法是什么?尽可能地,当我将我的应用程序部署在一个war文件中时,这些文件仍然存在,因为我会将这些文件的相对文件路径存储在数据库中

4

3 回答 3

1

将上传的文件放在任何级别的 Web 应用程序下绝对不是一个好主意。我的偏好是有一个配置路径的配置文件。重要的是,该路径完全无法从 Web 根目录访问,这样上传的文件就不能在服务器上执行。

 create a text file called <webapp>.properties

包含

 StorePath=C:/temp/Storage/

然后,该文本文件应包含在可从 ResourceLoader.getResource() 访问的路径下,例如类路径、WEB-INF

然后可以使用 java 加载该属性。

java.util.Properties props = new java.util.Properties();
java.net.URL urlx = ResourceLoader.getResource("<webapp>.properties");
props.load(urlx.openStream());
String buildVersion =props.get("StorePath").toString();

然后将文件保存到该位置。

于 2013-01-04T03:02:50.793 回答
0

这取决于您面临的场景,这些音频将用于什么?但是,将资源文件放在 webapp 文件夹中总是一个坏主意。您可以将它们存储在您的应用程序有权访问的单独文件夹中,或者将它们存储在安装在您的计算机或其他一些分布式文件系统(如 HDFS)或什至云存储产品(如 Amazon S3)上的一些远程存储中。

于 2013-01-04T03:05:10.613 回答
0

在服务器存储位置上传文件的最佳方法(服务器文件系统中的硬盘驱动器)在服务器中创建一个文件夹并将该文件上传到上面。上传后将上传的文件路径放入数据库中。

当用户想要显示文件时,从数据库中获取文件路径并显示在您的 html/jsp 页面上,并使用适当的 html 标签显示路径来处理它。

喜欢显示图像,您将图像保存在服务器上的目录中,将其路径存储在 db 中,假设其路径是www.xrv.com/images/Sunset.jpg (绝对or相对的`)。

在jsp中使用<img src="www.xrv.com/images/Sunset.jpg"/>

于 2014-11-05T09:52:55.777 回答