之前用Apache commons-vfs工具进行ftp操作(FTP服务器是 FileZilla Server)

上传本地文件 到 ftp服务器上,如果文件名称 包含 中文 报错

org.apache.commons.vfs2.FileSystemException: Could not put FTP file to “e:\红黄蓝股价暴跌.docx” to

sftp://dsideal:***@192.168.1.168/红黄蓝股价暴跌.docx

1、有可能是 登录FTP用户名没有权限 创建文件 需要登录用户有创建文件的权限

2、需要 修改编码 从utf-8 到 ISO-8859-1

 private static FileSystemManager fsManager = null;

		static {
try {
fsManager = VFS.getManager();
} catch (Exception e) {
e.printStackTrace();
}
}
//需要 ftp 服务器用户有 添加,修改 删除文件的权限 public void upfile(File file) {
try {
initConfig(); String inFilePath=ftpPathFull;
// Create local file object
FileObject localFile = fsManager.resolveFile(file.getAbsolutePath());
// Create remote file object
String sftpUri= inFilePath+file.getName();
String sftpUriiso= new String(sftpUri.getBytes("UTF-8"),"ISO-8859-1");
FileObject remoteFile = fsManager.resolveFile(sftpUriiso);
// 如果文件不存在,则创建文件
if (!remoteFile.exists()) {
remoteFile.createFile();
}
remoteFile.copyFrom(localFile, Selectors.SELECT_SELF);
logger.info("上传文件成功:"+file.getName());
} catch (Exception e) {
e.printStackTrace();
logger.error(e.getMessage());
logger.error(e.getLocalizedMessage(),e);
}
}

VFS 上传文件到sftp 报错 包含中文路径 或者中文文件名称的更多相关文章

  1. windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决

    windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决 一.发现问题 由于tomcat内存溢出,在wind ...

  2. Git上传代码遇到的报错

    Git上传代码遇到的报错 1.git上传代码卡住(Total 7072 (delta 2508), reused 6844 (delta 2376), pack-reused 0) git confi ...

  3. 用tsc编译ts文件的时候报错,tsc : 无法加载文件,因为在此系统上禁止运行脚本;

    用tsc编译ts文件的时候报错,tsc : 无法加载文件,因为在此系统上禁止运行脚本:SecurityError 在vscode的控制台或者Windows PowerShell中用tsc命令编译ts文 ...

  4. Java连接FTP成功,但是上传是失败,报错:Connected time out

    Java代码在本机上传文件到FTP服务器的时候成功,但是部署到测试服务器的时候出现,连接FTP成功但是上传失败,并且报Connected time out错误: 测试服务器和FTP服务都在阿里云上:( ...

  5. LR录制附件上传后,回放报错

    使用LR录制附件上传后,点击回放,发现报错:没有找到上传的文件 Could not obtain information about submitted file "C:\Users\Adm ...

  6. dnmp(docker的lnmp)安装WordPress之后图片上传问题 问题:图片上传大小问题解决和 报错413 Request Entity Too Large

    首先是提示超过图片尺寸和大小, 最后发现都是图片大小的问题, 需要修改php的最大上传size 修改之后查看php配置  已经生效  但是还是报错, 提示返回不是合法的json,  查看控制台, 报错 ...

  7. 自己封装framworks上传到应用商店报错

    参考链接: http://www.jianshu.com/p/60ac3ded34a0 http://ikennd.ac/blog/2015/02/stripping-unwanted-archite ...

  8. git上传到版本库报错:Pull is not possible because you have unmerged files(已解决)

    问题所在:操作次数太多,第一次报错之删掉了.git并没有删除下面两个文件 才报了题述错误. 解决办法: 将这三个文件都删除在重新运行所有指令.

  9. 解决上传代码到GitHub报错Push rejected: Push to origin/master was rejected

    最近在 push 代码到 github 时,IDEA报错 Push rejected: Push to origin/master was rejected 在网友找了一圈,发现都不是想要的答案 于是 ...

随机推荐

  1. SSH无法连接到服务器

    SSH服务器会无法连接,有时候并不是密码的问题,可能由于你上次改了密码(就算改成跟上次一样也是一个效果)导致家目录下的known_hosts(/root/.ssh/known_hosts)不一样了并且 ...

  2. Qt551.OpenGL.ZC简单例子

    1.主要 模仿代码:OpenGL的教程 第3课 "tutorial03_matrices"的代码(E:\OpenGL_something\ogl-master) 2.参考代码:Qt ...

  3. [数据结构] 2.2 Huffman树

    注:本文原创,转载请注明出处,本人保留对未注明出处行为的责任追究. 1.Huffman树是什么 Huffman树也称为哈夫曼编码,是一种编码方式,常用于协议的制定,以节省传输空间. A - F字母,出 ...

  4. Shovel Sale CodeForces - 899D (数位dp)

    大意: n把铲子, 价格1,2,3,...n, 求有多少个二元组(x,y), 满足x+y末尾数字9的个数最多. 枚举最高位, 转化为从[1,n]中选出多少个二元组和为$x$, 枚举较小的数 若$n\g ...

  5. tortoisegit里的cleanup坑

    tortoisegit的clean up功能(以下红框部分)真的不要去点啊,你所有被ignore(忽略)的本地文件会被全部删除,而且是无法恢复的,因为远程仓库里根本就没有这些文件. 血的教训啊,本以为 ...

  6. css实现div左侧突出一个带边框的三角形

    .vip-control-header{ width: 600px; height: auto; background: #F8F8F8; border: 1px solid #e2e2e2; pad ...

  7. Vue-devtools 安装浏览器调试

    工欲善其事,必先利其器. 本文主要讲解Vue-devtools的安装和使用 安装方法有两个: 方法一:(前提条件需要FQ,省事省力省心方便快速) FQ =>谷歌商店 =>搜索 =>V ...

  8. php 基于tcpdf插件生成pdf

    之前在公司做了个项目,,需要导出pdf合同,,在网上找了很久,选择用了tcpdf插件,,具体的插件网上可以搜到,中间遇到了很多的坑,慢慢的填. 先下好插件放到指定文件夹下 然后使用tcpdf插件里ht ...

  9. 李航《统计学习方法》CH02

    CH02 感知机 前言 章节目录 感知机模型 感知机学习策略 数据集的线性可分性 感知机学习策略 感知机学习算法 感知机学习算法 感知机学习算法的原始形式 算法的收敛性 感知机学习算法的对偶形式 导读 ...

  10. TP5.0 PHPExcel 数据表格导出导入(原)

    今天看的是PHPExcel这个扩展库,Comporse 下载不下来,最后只能自己去github里面手动下载,但有一个问题就是下载下来的PHPExcel没有命名空间,所以框架里面的use根本引入不进去, ...