さて、セベック、あなたが尋ねてくれてうれしいです!これは非常に興味深いものであり、これを行うための魔法の方法はありません。答えは確かにあなたがアップロードしたファイルの名前を変更することです。ただし、ファイル名の前にランダムな文字列を追加することをお勧めします。のように:fdjrke432test.txt。これを試して:
filekey= RenameRandom();
File renamedUploadFile = new File(uploadFolder + File.separator+ filekey+ fileName);
item.write(renamedUploadFile);
//remember to give the user the filekey
と
public String RenameRandom()
{
final int LENGTH = 8;
StringBuffer sb = new StringBuffer();
for (int x = 0; x < LENGTH; x++)
{
sb.append((char)((int)(Math.random()*26)+97));
}
System.out.println(sb.toString());
return sb.toString();
}
サーバーからファイルを削除またはダウンロードするには、ファイルを見つける必要があります。ユーザーはキーを入力します。アップロードフォルダーで、そのキーで始まるファイルを検索するだけです。
filekey= request.getParameter("filekey");
File f = new File(getServletContext().getRealPath("") + File.separator+"data");
File[] matchingFiles = f.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.startsWith(filekey);
}
});
String newfilename = matchingFiles[0].getName();
// now delete or download newfilename