0

ファイルの単純なアップロードとダウンロードについて問題があります。ユーザーがファイルをアップロードできるようにするローカル Java プログラムがあります。例えば。Java ワークスペースの場所 ./upload へのデスクトップ アップロードで abc.txt を呼び出すファイル。ただし、次を使用します。

boolean success = srcFile.renameTo(new File(dir, srcFile.getName()));

dir が宛先で、ファイルはデスクトップで切り取られ、./upload に貼り付けられます。でもコピペしたい。次に、ファイルを保存するパスがデータベースに保存されます。の解き方。

また、アップロード後、データベースに保存されているパスに基づいてファイルをダウンロードすることは可能ですか?

4

1 に答える 1

0

古いファイルを保存したい場合は、使用しないでくださいrenameTo

新しいファイルを作成する必要があります。これを行うには、 Apache Commons IOのcopyFileを使用できます。

例えば:

File srcFile = new File("source.doc");
File destFile = new File(dir, srcFile.getName());
FileUtils.copyFile(srcFile, destFile);

また、アップロード後、データベースに保存されているパスに基づいてファイルをダウンロードすることは可能ですか?

はい、そうです。関数を常に使用してファイルパスへの直接アクセスを使用できる場合は、copyFiledb のパスを使用してファイルをローカルにコピーできます。

于 2012-04-09T08:42:06.513 に答える