中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java怎么從linux服務器下載文件

發布時間:2022-02-06 08:57:07 來源:億速云 閱讀:428 作者:iii 欄目:開發技術

這篇文章主要介紹“java怎么從linux服務器下載文件”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“java怎么從linux服務器下載文件”文章能幫助大家解決問題。

    一、前端代碼

    1、html代碼

     <div class="border-gb-title">項目文件</div>
        <div class="grey-card jus-c ptb30 flex">
            <div class="tc mlr50 cupointer" onclick="getProjectFiles(1)"><img src="/res/images/file.png">
                <div class="mt5 fs16">合同</div>
            </div>
            <div class="tc mlr50 cupointer" onclick="getProjectFiles(2)"><img src="/res/images/file.png">
                <div class="mt5 fs16">計劃說明書</div>
            </div>
            <div class="tc mlr50 cupointer" onclick="getProjectFiles(3)"><img src="/res/images/file.png">
                <div class="mt5 fs16">風險說明書</div>
            </div>
            <div class="tc mlr50 cupointer" onclick="getProjectFiles(6)"><img src="/res/images/file.png">
                <div class="mt5 fs16">服務協議</div>
            </div>
        </div>

    2、js代碼

     //獲取文件,主要是從數據庫獲取到:文件名、文件路徑
        function getProjectFiles(type) {
            var fileParam = {
                pageNo: 1,
                pageSize: 10,
                xmId: ${detail[0]["項目ID"]},
                cxlx: type,
            };
            $.ajax({
                url: "/prod/getProjectFiles",
                type: "POST",
                data: fileParam,
                dataType: "JSON",
                success: function (ret) {
                    if (ret && ret['code'] > 0) {
                        debugger
                        //渲染界面
                        var dataList = ret['list'];
                        download(dataList[0]["附件名"],dataList[0]["附件路徑"]);
                    }
                }
            })
        }
    //下載文件,調用后端接口
        function download(fileName,filePath){
            window.open("/downloadTwo?fileName="+encodeURI(fileName)+"&downUrl="+filePath);
            return ;
        }

    3、css樣式

    前端的所有樣式都是使用layui架構的。

    二、后臺代碼

    1、獲取文件

    主要是,調用存儲過程,去數據庫獲取文件名和文件路徑,后面用于下載。

     /**
         * 獲取項目文件
         *   I_CXLX       IN NUMBER, --查詢類型 1|信托合同 2|信托計劃說明書3|認購風險說明書 5|隱私協議|6用戶服務協議
         *   I_XSXM      IN NUMBER --發行方案id
         * @param request
         * @param response
         * @param modelMap
         * @return
         */
        @RequestMapping(value = "/getProjectFiles",method = RequestMethod.POST)
        @ResponseBody
        public DataResultSet getProjectFiles(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap){
            int pageNo = ParamUtils.getInt(request, "pageNo", 1); // 頁碼
            int pageSize = ParamUtils.getInt(request, "pageSize", 10); // 取得顯示條數
            String cxlx = ParamUtils.getString(request, "cxlx", ""); // 查查詢類型 1|信托合同 2|信托計劃說明書3|認購風險說明書 5|隱私協議|6用戶服務協議
            String xmId = ParamUtils.getString(request, "xmId", ""); //發行方案id
            DataResultSet productHistory = prodService.getProjectFiles(pageNo,pageSize,cxlx,xmId);
            return productHistory;
        }

    2、開始下載

     /**
         * 附件下載
         *
         * @param request
         * @param response
         */
        @RequestMapping("/downloadTwo")
        public void downloadFileTwo( HttpServletRequest request, HttpServletResponse response) {
            String fileName = request.getParameter("fileName");
            String downUrl = request.getParameter("downUrl");
            goToDownload(request, response, downUrl, fileName);
        }
        /**
         * 下載
         *
         * @param request
         * @param response
         * @param downUrl  下載的路徑
         * @param fjmc     下載文件的名稱
         */
        private void goToDownload(HttpServletRequest request, HttpServletResponse response, String downUrl, String fjmc) {
            response.setCharacterEncoding("UTF-8");
            response.setContentType("application/x-msdownload");
            try {
                String encodenickname = URLEncoder.encode(fjmc,"UTF-8");//轉Unicode不然ie會亂碼
                response.setHeader("Content-Disposition", "attachment;fileName=" + new String(encodenickname.getBytes("UTF-8"), "ISO8859-1"));
                //這里注掉的代碼是本地測試的
    //            String path = request.getSession().getServletContext().getRealPath("/");
    //            String ATTACH_PATH= AppConfig.getInstance().getProperty("attach.base","");
    //            if (StringUtils.isNotEmpty(ATTACH_PATH)) {
    //                path = ATTACH_PATH;
    //            }
    //            logger.debug("=path===" + path);
                File file = new File( downUrl);
                if (!file.exists()) {
                    response.sendError(404, "File not found!");
                    return;
                }
                long fileLength = file.length();
                response.setHeader("Content-Length", String.valueOf(fileLength));
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
                BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());
                byte[] buff = new byte[2048];
                int bytesRead;
                while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
                    bos.write(buff, 0, bytesRead);
                }
                bis.close();
                bos.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    三、效果

    java怎么從linux服務器下載文件

    直接點擊文件圖片或者文件,就可以下載。

    java怎么從linux服務器下載文件

    關于“java怎么從linux服務器下載文件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    云龙县| 南涧| 蚌埠市| 班戈县| 思茅市| 资源县| 通州市| 中卫市| 涟源市| 崇信县| 隆回县| 彰化市| 平潭县| 洪雅县| 资讯| 盐源县| 余姚市| 唐河县| 洱源县| 精河县| 武邑县| 曲周县| 樟树市| 大田县| 林口县| 长春市| 唐山市| 岐山县| 新泰市| 土默特右旗| 剑河县| 阳西县| 喀喇沁旗| 安溪县| 屯门区| 习水县| 建宁县| 雅江县| 乌拉特中旗| 怀集县| 白沙|