[SPRING]アップロードファイルを削除、ファイルオブジェクト-(5)
アップロードファイルの削除
/** 업로드 파일 삭제
*/
@PostMapping("/removeFile")
public ResponseEntity<Boolean> removeFile(String fileName){
String srcFileName = null;
try{
srcFileName = URLDecoder.decode(fileName,"UTF-8");
//UUID가 포함된 파일이름을 디코딩해줍니다.
File file = new File(uploadPath +File.separator + srcFileName);
boolean result = file.delete();
File thumbnail = new File(file.getParent(),"s_"+file.getName());
//getParent() - 현재 File 객체가 나태내는 파일의 디렉토리의 부모 디렉토리의 이름 을 String으로 리턴해준다.
result = thumbnail.delete();
return new ResponseEntity<>(result,HttpStatus.OK);
}catch (UnsupportedEncodingException e){
e.printStackTrace();
return new ResponseEntity<>(false,HttpStatus.INTERNAL_SERVER_ERROR);
}
}
ブラウザからファイルを削除
<div>
に組み合わせる必要がある. // 추가
// Ajax 업로드 이후 이미지들을 호출하는 함수
function showUploadedImage(arr){
console.log(arr);
var divArea = $(".uploadResult");
var str = "";
for(var i =0; i<arr.length; i++){
str += "<div>";
str += "<img src='/display?fileName="+arr[i].thumbnailURL+"'>";
str += "<button class='removeBtn' data-name='"+arr[i].imageURL+"'>Remove</button>";
str += "</div>";
}
divArea.append(str);
<div>
タグを作成し、<img>
タグ、<button>
タグを<div>
内部に追加します.<button>
タグは、「data-name」という名前のcustomプロパティを指定するために使用され、ボタンをクリックするときに削除するファイルの名前を決定します. $(".uploadResult").on("click",".removeBtn",function(e){
var target = $(this);
var fileName = target.data("name");
var targetDiv = $(this).closest("div");
console.log(target);
console.log(fileName);
console.log(targetDiv);
$.post('/removeFile',{fileName : fileName}, function(result){
console.log(result);
if(result === true){
targetDiv.remove();
}
})
})
<div>
は動的に生成されるため、クリックイベントを直ちに処理することはできないため、委任された方法でイベントを処理する必要がある.<div>
が削除される.ファイルオブジェクト
Fileオブジェクトを試して学習した後、いくつかのFileオブジェクトを作成する方法をまとめました.
ファイルオブジェクトの定義
ファイルオブジェクトの用途
ファイルオブジェクトの作成
-Ex) File mtDir = new File("/Data/User/JDK 1.3.0/src/java/io");
-ファイルクラスの作成者は、パラメータに渡されるパスをチェックしません.
-親ディレクトリ-ファイルを含むディレクトリ
Ex) File thumbnail = new File(file.getParent(),"s_"+file.getName());
絶対パスと相対パス
Ex)cdc:/java/APIこの経路移動の方法は完全経路
−EX)cd javaのような経路移動方法は経路
ファイル・オブジェクトに関する情報を取得する方法
-getName():パス以外のファイルの名前.つまり、パスの最後の部分をStringオブジェクトに復元します.
-getPath():ファイルまたはディレクトリ名を含むファイルオブジェクトのパスをStringに返します.
-現在のディレクトリでファイル名のみを使用してファイルオブジェクトを作成し、親ディレクトリが指定されていない場合はnullを返します.
ファイルとディレクトリの作成と変更方法
作成するディレクトリの親ディレクトリが事前に存在しない場合は、失敗します.
-このメソッドが成功した場合はtrueを返します.そうでない場合はfalseを返します.
-メソッドがfalseを返しても、親パスの一部が作成されている可能性があります.
-このメソッドでは、空でないディレクトリは消去されません.
-そのため、ディレクトリを削除するには、ディレクトリ内のすべてのファイルをクリアする必要があります.
Reference
この問題について([SPRING]アップロードファイルを削除、ファイルオブジェクト-(5)), 我々は、より多くの情報をここで見つけました https://velog.io/@jyyoun1022/SPRING업로드-파일-삭제File객체-5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol