保存上传图像的最佳做法

时间:2013-07-09 08:13:19

标签: java jsf save mkdir

保存上传图片的最佳做法是什么?假设我有一个表格,每个表格都有一个ID。用户可以在表单上上传多个图像。我想做的是:

WebContent
 |-- META-INF
 |-- WEB-INF
 |-- files
 |    |-- images
 |    |    |-- Form1
 |    |    |    `--Image1.jpg
 |    |    |    `--Image2.jpg
 |    |    |    `--...
 |    |    |-- Form2
 |    |    |    `--Image1.jpg
 |    |    |    `--Image2.jpg
 |    |    |    `--...
 :

Form1Form2是一个文件夹。当用户提交表单时,将在服务器上自动创建该文件夹。这样做是一种好习惯吗?感谢。

3 个答案:

答案 0 :(得分:2)

一个重要的最佳做法是将应用程序本身与用户数据分开。因此,请确保将图像存储在WebContent之外的文件系统中。应用程序重新部署可能会删除WebContent目录。它还将删除不是您的意图的用户内容。

另一个最佳做法是使文件的位置可配置。你不想硬编码。例如,使用URL资源。

文件目录的结构很有意义。您可能需要文件下的另一个特定于用户的目录。

答案 1 :(得分:1)

我不认为这种方法有任何不妥之处,您是否考虑过多个用户会发生什么?他们最终会压倒对方的形象吗?我的建议是在某处使用UserID,作为目录或附加到文件名。

通常情况下,如果您打算在像AWS这样的云中部署,您可以将所有文件夹移植到他们的S3技术上,而不是将它们放在Web内容中。

答案 2 :(得分:0)

你在等待大量的图片吗? 如果是,您应该考虑将图像划分为子文件夹,因为如果一个文件夹中有大量文件,文件系统会变慢。