JFinal能够批量上传文件到ftp文件服务器吗

JFinal能够批量上传文件到ftp文件服务器吗,第1张

必须是可以的啊, 配合 jsch.jar(ftp文件上传使用) 使用。

Controller 源码中已经提供两个获取 批量上传的文件 方法

    public List<UploadFile> getFiles(String uploadPath, int maxPostSize) {

        if (request instanceof MultipartRequest == false)

            request = new MultipartRequest(request, uploadPath, maxPostSize)

        return ((MultipartRequest)request).getFiles()

    }

    

    public List<UploadFile> getFiles(String uploadPath) {

        if (request instanceof MultipartRequest == false)

            request = new MultipartRequest(request, uploadPath)

        return ((MultipartRequest)request).getFiles()

    }

获取 到 List<UploadFile>文件集合之后, 再使用 jsch.jar 进行ftp文件上传到其他服务器

JSch jsch = new JSch()

        Session sshSession = jsch.getSession(this.username, this.host, this.port)

        sshSession.setPassword(password)

        Properties sshConfig = new Properties()

        sshConfig.put("StrictHostKeyChecking", "no")

        sshSession.setConfig(sshConfig)

        sshSession.connect(20000)

        Channel sftp = sshSession.openChannel("sftp")

        sftp.connect()

        。。。 这个百度搜一下,代码很多, 这里就不在啰嗦了

3.7 getFile文件上传

Controller提供了getFile系列方法支持文件上传。

特别注意:如果客户端请求为multipart request(form表单使用了enctype="multipart/form-data"),那么必须先调用getFile系列方法才能使getPara系列方法正常工作,因为multipart request需要通过getFile系列方法解析请求体中的数据,包括参数。同样的道理在Interceptor、Validator中也需要先调用getFile。

文件默认上传至项目根路径下的upload子路径之下,该路径称为文件上传基础路径。可以在 JFinalConfig.configConstant(Constants me)方法中通过me.setBaseUploadPath(baseUploadPath) 设置文件上传基础路径,该路径参数接受以”/”打头或者以windows磁盘盘符打头的绝对路径,即可将基础路径指向项目根径之外,方便单机多实例部署。当该路径参数设置为相对路径时,则是以项目根为基础的相对路径。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11666100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存