0

フラッシュからキャプチャした後にイメージを保存するためのディレクトリを動的に作成するコードを以下に示します。

イメージが別の IP アドレスからキャプチャされた場合、「terminal_2」のような新しい名前で新しいディレクトリを作成します (ここでは、terminal_1 という名前で作成します)。

例: 現在、IP アドレスが 192.113.25.13 の場合、「terminal_1」ディレクトリが作成され、IP アドレスが 192.113.37.25 に変更された場合、「terminal_2」ディレクトリが作成され、イメージが「terminal_2」ディレクトリに保存されます。

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 
{   

} 
4

1 に答える 1

0

私が正しく理解している場合(間違っている場合は修正してください):

  1. 特定の IP アドレスから取得した画像を保存する必要があります。
  2. IPごとに、サーバー上に(terminal_1、terminal_2など)のような個別のフォルダーを作成する必要があります。
  3. 次に、そのフォルダーに、特定の IP から取得したイメージを保存する必要があります。

すでに次のことを行っています。

  1. アプリケーションにアクセスしているマシンの IP アドレスを取得します。
  2. サーバー上にフォルダーを作成する
  3. そのフォルダ内にイメージを作成します

保留中のもの:

  1. 異なる IP に対して異なるフォルダーを作成します。
  2. この IP のフォルダーが既に作成されているかどうかを確認するロジック。
  3. if (folder not created) { then create } else { don't create, just save the image}.

したがって、保留中のものに対する私のアプローチは次のとおりです。

  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. 次に、192.168.1.23 などの IP アドレスから画像を取得したら、データベースで 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
    }
    

お役に立てれば。

于 2012-07-31T10:53:33.217 に答える