下面是我在ftp上传文件的C#代码,我使用Renci.SshNet.dll
连接到sftp。
string Address = MyConfigDictionary.GetDictionary["SFTP_Address"].ToString();
int Port = 22;
string UserName = "myusername";
string Password = "mypassword";
string FolderName = "MyFolder";
using (SftpClient client = new SftpClient(Address, Port, UserName, Password))
{
client.Connect();
client.ChangeDirectory(FolderName + @"/");
client.BufferSize = 4 * 1024;
client.UploadFile(this.GetCmp<FileUploadField>("FileUpload").PostedFile.InputStream, "/" + FolderName + "/" + this.GetCmp<FileUploadField>("FileUpload").PostedFile.FileName, null);
client.Disconnect();
}
代码在Firefox和Chrome中工作正常,但它不能正常工作。(我在IE 10中测试)。我在IE中获得“权限被拒绝”。
IE在这里缺少什么?
答案 0 :(得分:0)
得到答案:
尝试使用IE上传文件时,将我的文件名设为C:\Users\user_name\Downloads\myfile.csv
而不是myfile.csv
如此替换this.GetCmp<FileUploadField>("FileUpload").PostedFile.FileName
在Path.GetFileName(this.GetCmp<FileUploadField>("FileUpload").PostedFile.FileName)
以上的client.UploadFile(..)
。