c#使用Tamir.SharpSsh 下载不了中文名文件

问题描述

我在C#中使用Tamir.SharpSsh连接SFTP下载文件,其中数字和英文命名的文件可以下载,但是如果文件名中包含有中文的话就无法下载,求各位指教!引用

publicstaticvoidSFTP_Download(stringip,stringuser,stringpwd,stringstrFromFile,stringstrToFile){Tamir.SharpSsh.Sftpst=newSftp(ip,user,pwd);st.Connect(22);st.Get(strFromFile,strToFile);st.Close();}

引用

publicboolGet(stringremotePath,stringlocalPath){try{Tamir.SharpSsh.java.Stringsrc=newTamir.SharpSsh.java.String(remotePath);Tamir.SharpSsh.java.Stringdst=newTamir.SharpSsh.java.String(localPath);m_sftp.get(src,dst);returntrue;}

解决方案

解决方案二:
是下载报错还是下载的文件中文乱码?
解决方案三:
如果服务器端的文件包含中文名字,你这里文件名会显示乱码,而且你无法使用乱码的文件名去下载文件,会报找不到文件,这个使用你只要到/SharpSSH/java/String.cs这个文件里将publicstaticstringgetString(byte[]arr,intoffset,intlen)这个方法里将默认字符集改为UTF8就可以了,因为SFTP服务器上都是使用UTF8编码的,而中文系统中往往默认使用GB2312这样就会乱码我也遇到这个问题,找了好几天了
解决方案四:
链接地址发错

时间: 2024-10-23 01:50:31

c#使用Tamir.SharpSsh 下载不了中文名文件的相关文章

远程连接-还是关于Tamir.SharpSsh使用方面的问题

问题描述 还是关于Tamir.SharpSsh使用方面的问题 有同样用过Tamir.SharpSsh开发过SSH控制台功能的童鞋们?遇到一个新的问题需要攻克(网上这个类的用例都太浅显了,不适合用作完整功能模块的开发案例) 是这样的:我的网页已经实现远程连接到Lunix的Shell层,指令什么的都能执行.但是当我的指令是比较复杂的逐步执行指令时,Ssh.Write()可能需要较长时间的等待才能将指令全部执行完,然后再通过Ssh.ReadResponse()去读取完整的返回值.那么问题来了,我如何判

利用Nginx访问、下载本机目录文件

今天学到点好用的技巧,即利用Nginx访问.下载本机目录文件,Mac下的具体做法如下: 一.安装Nginx 1.brew search nginx 2.brew install nginx 启动nginx ,sudo nginx ;访问localhost:8080 发现已出现nginx的欢迎页面了. 备注: ln -s  /usr/local/sbin/nginx /usr/bin/nginx 做个软连接.常用的指令有:  nginx -V 查看版本,以及配置文件地址 nginx -v 查看版本

iOS 7.1中可以移除已经下载的OTA升级文件

很多人都不知道iOS系统设置应用上的提醒数字是意味着目前系统有可用的升级,当然也有很多人不喜欢升级到最新系统.当iOS设备接通电源并连接至WiFi后,iOS会自动下载升级文件,对于不想升级的用户,下载的OTA升级文件可能会占据大量储存空间,这些下载文件也无法被移除. 不过,在苹果最新iOS 7.1测试版中,用户可以根据自己的意愿选择将升级文件移除.这样可以节省很大的空间.用户只需开启设置应用,然后导航至通用--用量,这里界面下可以看到iOS升级文件,进入后选择删除即可. iOS OTA升级文件有

谷歌浏览器不能下载百度网盘文件怎么解决

  谷歌浏览器不能下载百度网盘文件怎么解决          使用谷歌Chrome浏览器的朋友,可能经常遇到打开百度云网盘,点击里面的文件,却不能正常下载保存的问题.这里介绍一下原因与解决方法. 方法一: 1.首先,我们正常打开百度云中的网盘,鼠标放到想下载的文件上方.然后点击浮现的下载图标按钮. 2.然而点击文件下载按钮后,Chrome浏览器并没有正常下载保存文件.仔细观察一下,这时我们会发现Chrome浏览器的地址栏,右侧出现一个盾牌模样的图标. 3.我们点击这个盾牌图标,出现下列提示:此网

win7下载后如何显示出来文件的后缀名

64位win7旗舰版下载之后我们一般度会对于文件的后缀名进行一些相关的设置,这样才会更加方便自己在之后使用的时候查找,不过其实操作起来还是比较简单的,我们能够通过相关的设置对其进行一些更改.一般来说,win7系统里面的文件是默认的,这时候不会出现后缀名的,这时候就需要对其进行设置了.那么64位win7旗舰版下载后如何显示出来文件的后缀名呢? 1.直接打开电脑,然后点击开始,将控制面板给打开.控制面板里面有很多选项,在里面找到"文件夹选项",然后再对计算机文对应的查看方式进行设置. 2

迅雷7如何下载BT种子的文件或者视频

  我们知道迅雷是一款很好用的下载工具,现如今,已经发展到了迅雷7.有时候我们会通过迅雷来下载BT种子的文件或者视频,那么迅雷7是怎么下载BT种子的? 软件名称: 1.首先你要获取你要下载的bt种子文件,你可以去种子资源站下载或者像网友获取你可以直接将BT种子文件直接拖进迅雷,然后点击立即下载,这样迅雷7就下载种子文件了. 2.你也可以先打开迅雷然后点击新建. 3.再点击打开BT种子文件然后选择你要下载的文件点击打开. 4.最后点击立即下载这样迅雷7就下载种子文件了.

百度网盘下载东西显示本地文件写入失败的解决办法

  小编最近在使用百度网盘下载东西的时候,异常关机了一下,启动的时候,进行下载,就显示了本地文件写入失败的问题,下面小编为大家分享下,如何解决这个问题. 1.我们一般,可能会由于异常断点关机,或者硬盘重新拔插,导致本地文件写入失败. 2.遇到这种情况,首先我们重命名一下网盘上的文件,然后再次点击下载, 3.如果这种情况还不行的话,我们就使用下种方法,首先找到自己的安装文件,把百度网盘卸载. 4.卸载完成后,我们打开浏览器,找到百度网盘最新版本进行下载.安装. 5.下载完成点击安装,安装成功后,打

迅雷为什么我不能下载超过4G的文件?

  一般由于文件系统是Fat32,导致不能下载超过4G的文件, 建议把文件系统更换为NTFS格式或者把下载保存的文件夹指定为NTFS格式的磁盘内. 您只要打开我的计算机 =>C盘 =>属性,如下图,即可查看到文件系统格式是什么. 如要修改该格式建议联系懂电脑的朋友或者维修电脑的人员进行处理,避免误操导致磁盘内的数据丢失.

apk访问下载-C#实现的一个.apk下载界面,用手机能下载不能安装.apk文件。

问题描述 C#实现的一个.apk下载界面,用手机能下载不能安装.apk文件. C#实现的一个.apk下载界面,在电脑访问下载下来的程序,可以安装,但是在手机上访问下载下来的文件不能安装.出现解析包时出现问题.