VFS 上传文件到sftp 报错 包含中文路径 或者中文文件名称
之前用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 报错 包含中文路径 或者中文文件名称的更多相关文章
- 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 ...
- Git上传代码遇到的报错
Git上传代码遇到的报错 1.git上传代码卡住(Total 7072 (delta 2508), reused 6844 (delta 2376), pack-reused 0) git confi ...
- 用tsc编译ts文件的时候报错,tsc : 无法加载文件,因为在此系统上禁止运行脚本;
用tsc编译ts文件的时候报错,tsc : 无法加载文件,因为在此系统上禁止运行脚本:SecurityError 在vscode的控制台或者Windows PowerShell中用tsc命令编译ts文 ...
- Java连接FTP成功,但是上传是失败,报错:Connected time out
Java代码在本机上传文件到FTP服务器的时候成功,但是部署到测试服务器的时候出现,连接FTP成功但是上传失败,并且报Connected time out错误: 测试服务器和FTP服务都在阿里云上:( ...
- LR录制附件上传后,回放报错
使用LR录制附件上传后,点击回放,发现报错:没有找到上传的文件 Could not obtain information about submitted file "C:\Users\Adm ...
- dnmp(docker的lnmp)安装WordPress之后图片上传问题 问题:图片上传大小问题解决和 报错413 Request Entity Too Large
首先是提示超过图片尺寸和大小, 最后发现都是图片大小的问题, 需要修改php的最大上传size 修改之后查看php配置 已经生效 但是还是报错, 提示返回不是合法的json, 查看控制台, 报错 ...
- 自己封装framworks上传到应用商店报错
参考链接: http://www.jianshu.com/p/60ac3ded34a0 http://ikennd.ac/blog/2015/02/stripping-unwanted-archite ...
- git上传到版本库报错:Pull is not possible because you have unmerged files(已解决)
问题所在:操作次数太多,第一次报错之删掉了.git并没有删除下面两个文件 才报了题述错误. 解决办法: 将这三个文件都删除在重新运行所有指令.
- 解决上传代码到GitHub报错Push rejected: Push to origin/master was rejected
最近在 push 代码到 github 时,IDEA报错 Push rejected: Push to origin/master was rejected 在网友找了一圈,发现都不是想要的答案 于是 ...
随机推荐
- async/await 的使用
async : 使用 async 修饰符可将方法.lambda 表达式或匿名方法指定为异步. 如果对方法或表达式使用此修饰符,则其称为异步方法 await: await 运算符应用于异步方法中的任务, ...
- SSH无法连接到服务器
SSH服务器会无法连接,有时候并不是密码的问题,可能由于你上次改了密码(就算改成跟上次一样也是一个效果)导致家目录下的known_hosts(/root/.ssh/known_hosts)不一样了并且 ...
- Node.js进程内存使用查看方法及返回对象的含义
1 前言 使用process.memoryUsage() ,然后可以得到一个对象如下: var mem = process.memoryUsage(); console.log(mem); 结果: { ...
- DAY 25多态、反射、异常处理
一.面向对象与面向过程分析 1.print(len('123')) # 面向过程 #清晰知道操作的功能,但不能明确操作的具体对象,需要传入参数. 2.print('123'.__len__()) # ...
- [Linux]防火墙关闭与开启
防火墙关闭与开启 系统环境:ubuntu16.04 工具:xshell 测试远程主机的端口是否开启 telnet 192.168.xx.xx 80 防火墙关闭/开启/重启 # 防火墙关闭 sudo u ...
- APScheduler——定时任务框架
https://www.cnblogs.com/luxiaojun/p/6567132.html
- Ctrl+Alt+Down/Up 按键冲突
I mapped Ctrl-Alt-Up/Down to open web-browser and email client but it didn't take effect. Ctrl-Alt-U ...
- Activex、OLE、COM、OCX、DLL之间区别、联系[转]
转自:http://baike.baidu.com/view/393671.htm 创建COM:http://blog.csdn.net/henry000/article/details/700839 ...
- Python 用下划线作为变量前缀和后缀指定特殊变量
_xxx 不能用’from module import *’导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 核心风格:避免用下划线作为变量名的开始. 因为下划线对解释器有特殊的意义, ...
- .net邮件发送帮助类
代码如下: using System; using System.Collections.Generic; using System.Text; using System.Configuration; ...