windows环境下使用

public static void dowmloadFtpWindos(String fileUuid, HttpServletRequest request,HttpServletResponse response) {

LmpFileInfo finfo = lmpFileInfoServiceClient.getByUuid(fileUuid);

String dfname = processFileName(request, finfo.getName());

response.setContentType("multipart/form-data;charset=UTF-8");

response.setHeader("Content-Disposition", "attachment;fileName=" + dfname);

FtpUtil ftpUtil = new FtpUtil();

try {

String saveurl = finfo.getSaveurl();

String targetPath = "";

String fileName = "";

if (saveurl != null && saveurl.lastIndexOf('/') > 0) {

targetPath = finfo.getSaveurl().substring(0, saveurl.lastIndexOf('/'));

fileName = finfo.getSaveurl().substring(saveurl.lastIndexOf('/') + 1);

}

ftpUtil.downFile(targetPath,fileName,response);

} catch (Exception e) {

e.printStackTrace();

} finally {

ftpUtil.disConFtp();

}

}

Lunix下使用

public static String dowmloadFtpLunix(String fileUuid, HttpServletRequest request, HttpServletResponse response) {

LmpFileInfo finfo = lmpFileInfoServiceClient.getByUuid(fileUuid);

String dfname = processFileName(request, finfo.getName());

response.setContentType("multipart/form-data;charset=UTF-8");

response.setHeader("Content-Disposition", "attachment;fileName=" + dfname);

FtpUtil ftpUtil = new FtpUtil();

try {

FTPClient ftp = ftpUtil.getFtpClient();

// 设置PassiveMode传输

ftp.enterLocalPassiveMode();

// 设置以二进制流的方式传输

ftp.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);

ftp.setFileType(FTP.BINARY_FILE_TYPE);

String saveurl = finfo.getSaveurl();

String targetPath = "";

String fileName = "";

if (saveurl != null && saveurl.lastIndexOf('/') > 0) {

targetPath = finfo.getSaveurl().substring(0, saveurl.lastIndexOf('/'));

fileName = finfo.getSaveurl().substring(saveurl.lastIndexOf('/') + 1);

}

ftp.changeWorkingDirectory(targetPath);

InputStream input = ftp.retrieveFileStream(new String(fileName.getBytes("GBK"),"ISO-8859-1"));

OutputStream out = response.getOutputStream();

int buf = -1;

while ((buf = input.read()) != -1) {

out.write(buf);

}

out.flush();

input.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

ftpUtil.disConFtp();

}

// 返回值要注意,要不然就出现下面这句错误!

// java+getOutputStream() has already been called for this response

return null;

}

java本地可以发到linux不行,java 使用 ftp 在windows环境下可以正常下载文件,在linux环境下不行...相关推荐

  1. python下载文件传到服务器_windows上python上传下载文件到linux服务器指定路径【转】...

    从windows上传文件到linux,目录下的文件夹自动创建 #!/usr/bin/env python # coding: utf-8 import paramiko import datetime ...

  2. linux用sz下载文件夹,linux上很方便的上传下载文件工具rz和sz使用介绍

    一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地: 与ssh有关 ...

  3. linux 传文件夹,linux下上传下载文件夹的方法

    Linux下目录复制:本机->远程服务器 scp -r /home/shaoxiaohu/test1 zhidao@192.168.0.1:/home/test2 test1为源目录,test2 ...

  4. 过滤Linux下不同大小的文件,linux查找当前目录下 M/G 大小的文件,删除Linux下指定大小的文件

    过滤Linux下不同大小的文件,linux查找当前目录下 M/G 大小的文件,删除Linux下指定大小的文件 find ./ -type f -size +1G| xargs rm 在清理系统日志文件 ...

  5. 如何在linux服务器下载文件夹,linux服务器怎么下载文件到本地

    linux服务器怎么下载文件到本地 发布时间:2020-06-16 12:08:20 来源:亿速云 阅读:318 作者:鸽子 1.使用scp命令scp /home/work/source.txt wo ...

  6. Linux 下离线手动下载安装 C++ 开发环境

    1.前言 本人使用的操作系统是 Fedora 24. 1.1 在线安装软件的方法 Linux 下我们习惯了使用软件包管理器来安装我们需要的软件,比如 Red Hat 公司的 Fedora.RHEL(R ...

  7. linux重新下载文件命令,linux下载服务器上的文件命令-sz

    C# Mvc异常处理过滤器 using System; using System.Text; using EMS.Domains.Core; using System.Web.Mvc; using J ...

  8. 上传下载文件到Linux服务器

    转自链接:https://blog.csdn.net/drdongshiye/article/details/89430535 Mac的终端是十分强大 , 可以通过命令进行上传下载 下载文件夹 scp ...

  9. 使用putty连接并上传和下载文件到linux服务器

    目录 一.连接到linux 二.上传和下载文件 putty下载地址:https://putty.en.softonic.com/?ex=MOB-575.6 安装完后会看到如下的目录文件 一.连接到li ...

  10. ssh scp 从windows免密码下载文件到linux

    在linux主机(ssh客户端),通过ssh-keygen在建立SSH keys # ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码) 将在linux主机的当 ...

最新文章

  1. 如何快速实现HTML编辑器.NET组件
  2. iOS 流式播放音频文件
  3. 全国大学生智能汽车竞赛-讯飞赛道线下赛开始报名啦!
  4. 用亲和性分析方法推荐电影
  5. 【STM32】ESP8266 AT指令
  6. Mysql(8)——as和distinct和where的用法
  7. SpringBoot在项目中基本配置设置
  8. web版本 开源压测工具_Web压测工具之Webbench和http_load
  9. 防火墙 规则与链的分类
  10. c语言图书管理系统登录系统,C语言图书管理系统设计代码.doc
  11. ideaIU-2018.3.1安装及激活方法-百度网盘分享
  12. java calendar星期几_正确获取星期几(Calendar.DAY_OF_WEEK)
  13. 腾讯云短信服务报错FailedOperation.TemplateIncorrectOrUnapproved
  14. 人机交互-任务4:图形交互界面的设计(web)
  15. 集成建行龙支付(2019.01.24更新)
  16. 零基础搭建外卖优惠券返利CPS小程序教程
  17. mysql查询表升序降序_创建一个按钮,对MYSQL查询进行升序和降序排序
  18. Grub Rescue恢复
  19. ChainZ Arena攻略+全红卡评分
  20. 解决高德地图api叠加Imagelayer播放雷达图闪烁

热门文章

  1. R语言观察日志(part5)--利用readr和readxl包读写数据
  2. GIT项目管理工具(part10)--分支管理
  3. 好想学python怎么玩_Python 应该怎么学?
  4. 基于 Angular 的企业级 Web 应用服务器端渲染的推荐建构
  5. SAP UI5 视图控制器 View Controller 的生命周期方法 - Lifecycle methods
  6. 关于 SAP 产品 UI 的搜索引擎优化 SEO - Search Engine Optimization
  7. Angular 如何使用 InjectionToken 的方式得到当前 location 信息
  8. SAP Spartacus pop over 元素的单元测试
  9. scss 里的 Mixins 用法介绍
  10. SAP Spartacus delivery mode continue button enable与否的逻辑