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 >