千家信息网

java怎么从linux服务器下载文件

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍"java怎么从linux服务器下载文件"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"java怎么从linux服务器下载文件"文章能帮助大家解
千家信息网最后更新 2025年01月19日java怎么从linux服务器下载文件

这篇文章主要介绍"java怎么从linux服务器下载文件"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"java怎么从linux服务器下载文件"文章能帮助大家解决问题。

    一、前端代码

    1、html代码

     
    项目文件
    合同
    计划说明书
    风险说明书
    服务协议

    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服务器下载文件"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

    文件 服务 说明书 代码 信托 路径 服务器 合同 知识 附件 项目 风险 UTF-8 前端 数据 数据库 文件名 方案 样式 用户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有个私人的服务器能干什么 设置服务器策略有什么用 北京Net软件开发经理 太原APP软件开发招聘网 app软件开发怎么选 万方数据库官网下载 久其财务关联数据库 如何开展网络安全保卫工作 微信小程序服务器安全吗 计算机网络技术与应用第五章 有哪些最新的数据库技术 达梦数据库客户端启动命令 手机显示服务器出错了是什么意思 授权管理服务器 陕西知译云网络技术有限公司 深圳市网络安全应急支撑单位 web服务器默认的文档 远离网络安全是真的吗 浙江软件开发者一般多少钱 北京pdu服务器电源种类有哪些 培训机构网络安全吗 欧洲的服务器好用吗 cf服务器已暂停图片 数据库自然连接怎么打出来 女人网络安全知识漫画 数字管理系统用什么配置的服务器 网络 服务器断开连接 常州锐安网络技术有限公司 数据库添加事务日志 汽车保险数据库
    0