为不同的IP地址动态创建不同的目录

时间:2012-07-30 08:46:49

标签: java jsp

我有以下代码,可以动态创建目录,以便在从闪存中捕获图像后存储图像。

如果从不同的IP地址捕获图像,我想用新名称创建新目录,例如“terminal_2”(这里创建名称为terminal_1)。

例如:当前如果我的IP地址是192.113.25.13,那么它会创建“terminal_1”目录,如果我的IP地址变为192.113.37.25,那么它应该创建“terminal_2”目录并将图像存储在“terminal_2”目录中。 / p>

我知道如何使用java来捕获IP地址。

String fileStoreURL="";
String rootpath="/applicationservices/fileshare/vm/uploads";
fileStoreURL = config.getServletContext().getRealPath("") + rootpath + "/terminal_1";

try {
    File f = new File(fileStoreURL);
    if (!f.exists())
    {
        f.mkdirs();
    }
}
catch (Exception e)
{

}

try {
    long time = new Date().getTime();
    FileOutputStream fileOutputStream = new FileOutputStream(fileStoreURL + "/"+time+".jpg");
    int res;
    while ((res = request.getInputStream().read()) != -1) {
        fileOutputStream.write(res);
    }

    fileOutputStream.close();
/*
 * To make sure each url is differeent and not cached added time to tit
 */
response.getWriter().append(
"http://localhost/......./fileshare/vm/uploads/terminal_1/" + time+ ".jpg");

} catch (Exception e)
{
    e.printStackTrace();
} 
finally 
{   

} 

1 个答案:

答案 0 :(得分:0)

如果我理解正确的话(请纠正,如果我错了):

  1. 您需要存储从特定IP地址获得的图像。
  2. 对于每个IP,您需要在服务器上创建一个单独的文件夹,如(terminal_1,terminal_2等)。
  3. 然后在该文件夹中,您需要存储从特定IP获得的图像。
  4. 您已完成以下事项:

    1. 获取正在访问您的应用程序的计算机的IP地址。
    2. 在服务器上创建一个文件夹
    3. 在该文件夹中创建图片
    4. 待定的事情:

      1. 为不同的IP创建不同的文件夹。
      2. 检查是否已创建此IP文件夹的逻辑。
      3. if (folder not created) { then create } else { don't create, just save the image}
      4. 所以这是我处理待处理事项的方法:

        1. 您需要在IP地址和文件夹名称之间保持一些关系,并将其存储在数据库或服务器上文件系统上的文件(如属性文件)中。假设您从192.168.1.23获取图像并将其存储在terminal_1中,然后从192.167.0.34获取图像并将其存储在terminal_2中,现在再次从192.168.1.23获取另一个图像,以便创建新文件夹或将图像存储在terminal_1中。因此,要确定是否已创建此IP地址(192.167.0.34)的文件夹,您需要在IP地址和文件夹之间保持某种关系。
        2. 然后,当您从IP地址获取图像时,请说192.168.1.23,搜索数据库中的IP地址:

          if(no mapping found for this IP Address) {
              // 1) create the folder and give some name for eg: terminal_2
              // 2) store this mapping of IP Address and the folder name
              // 3) Save the image inside this folder
          } else if (mapping found) {
              // 1) fetch the folder name
              // 2) Save the image in this folder
          }
          
        3. 希望这有帮助。