ファイルのアップロード、ダウンロード、削除機能

1.ファイルアップロード
 フロントエンドのコード:

1 HTMLコード:<%- layuiは、元のファイルアップロードコントロールが付属しています- %> 
2  < INPUT タイプの= "ファイル" = "ファイル" 上記のid = "Test20" > 
3 JSコード:<%- と受け入れすべてのファイルに指定された形式、ファイルタイプをアップロードし、URLがパスに戻ってアップロードされた- %> 
4。 layui.use( 'アップロード'、機能(){
 5。 VAR $ = layui.jquery
 6。  アップロード= layui.upload。
 7  原稿の//結合ドメインは、
 8。 upload.render({
 9。 ELEM: '#Test20'
 10  、受け入れ: 'ファイル'
 。11  、URL: '
$ {}のCtx / fpPlaceFile / uploadFile / $ {} placeId '12  });
13 });

背景コード:

// コントローラ層は、ファイル情報上前景パス受け付けるMultipartFileファイル・パラメータを使用して
パブリック INT uploadFile(MultipartFile MFILE、HttpServletRequestのリクエストを、strPath文字、文字列relativedId、strRelativedType文字、文字列strDesc)を 
 スロー例外{
 //は、ユーザ情報取得 
件名件名= SecurityUtilsを。 getSubject(); 
MyShiroRealm.ShiroUser shiroUser = (MyShiroRealm.ShiroUser)subject.getPrincipal(); 
文字列のuserName = shiroUser.getUser()getStrAccount();. 
ユーザーユーザー = shiroUser.getUser();
 // 指定されたファイル保存された相対パス 
文字列= contentUploadPath "/静的/ UploadFiles /" + strPath;
 // 絶対パス
APPPATH =文字列...でrequest.getSession()のgetServletContext()getRealPath(contentUploadPath); 
文字列strFileName = "" ; 
文字列strFilePath = "" ;
 // ファイルが空であるかどうかを判断
IF(!MFile.isEmpty()){
 // サプリメントは、絶対パスの 
ファイルuploadFileDirct = 新しい新しいファイル(APPPATH、userNameに+ "/" + relativedId);
 // パスが空で、パスを作成し
たIF(!uploadFileDirct.exists()){ 
; uploadFileDirct.mkdirs()
} 
//はファイルを取得名前 
strFileName = mFile.getOriginalFilename();
 // ファイル形式を取得します
ストリングsuffixName = strFileName.substring(strFileName.lastIndexOf()+ 1 "" ); 
文字列fileNameに = strDesc + strFileName。
ファイルuploadFile = 新しいファイル(uploadFileDirctファイル名);
// 补充相对路径 
strFilePath = contentUploadPath + "/" + userNameに+ "/" + relativedId + "/" + ファイル名;
// 上传文件
mFile.transferTo(uploadFile)。
NjAttach njAttach = 新しいNjAttach(); 
njAttach.setId(FID)。
njAttach.setStrName(strFileName)。
BigDecimalのB = 新しいのBigDecimal((ダブル)mFile.getSize()/ 1024 );
ダブルb.setScale =ファイルサイズ(2 、BigDecimal.ROUND_HALF_UP).doubleValue(); 
njAttach.setDoubleSize(ファイルサイズ); 
njAttach.setStrDocType(suffixName); 
njAttach.setRelativedId(relativedId); 
njAttach.setStrRelativedType(strRelativedType); 
njAttach.setStrDesc(strDesc ); 
njAttach.setStrPath(strFilePath); 
njAttach.setCreateUser(ユーザー); 
njAttach.setCreateDateTime(DateTools.getFullNowDateTime()); 
を返す この.addAttach(njAttachを); 
} {
 スロー 新新(AのはServiceExceptionが「ファイルをアップロードすることができなかったが空ですか、ファイルを選択していません」!); 
} 
}

ファイルの削除

フロントコード:

1  < クラス= "消去BTN-小さな" ターゲット= "ダイアログ" 2 dialogId = "upadteFcHydrantDialog22" HREF = "$ {CTX} / fpPlaceFile /削除/ $ {fpPlaceFile.id}" >删除</ A > 
 

背景コード:

1  // サーバに格納された絶対パスとファイル名にファイルを取得する
2列のURL = fpPlaceFileService.findOneById(上記ID上記).getFileUrl();
 3文字列名= fpPlaceFileService.findOneById(上記ID上記).getUid();
 4列affiPath = + URL "/" + 名;
 。5ファイルPDFファイル= 新しい新しいファイル(..でrequest.getSession()のgetServletContext()getRealPath(affiPath)); 
 6 pdfFile.delete();

ダウンロード

レセプションコードなしコードの背後にあります:

1  <%- ファイルのパスとファイル名への直接アクセス、ダウンロードすることにより、URL、ファイルが画像に直接開いている場合- %> 
2  < クラス=「ダウンロードBTN-小」3。HREF =「$ {$} CTX fpPlaceFile.fileUrl} {/} $ {fpPlaceFile.uid " >ダウンロード</ A > 
 

おすすめ

転載: www.cnblogs.com/zeevy/p/12118064.html