# private string UploadHttp(string strPhotoPath, string strXtNo, string strCmpno, string strType)
# {
# System.Net.WebClient f = null;
# try
# {
# f = new System.Net.WebClient();
# string strUserName = "user";
# string strPassWord = "pass";
# string strServer = "ftp://*****";
# //f.BaseAddress = strServer;
# f.Credentials = new System.Net.NetworkCredential(strUserName, strPassWord);
#
# string strPhotoName = strPhotoPath.Split('\\')[strPhotoPath.Split('\\').Length - 1];
# string strFileName = strCmpno + strXtNo + strType + "[" + strPhotoName;
# f.UploadFile(strServer + strFileName,"STOR",strPhotoPath);
#
# return strFileName;
# }
# catch (Exception e)
# {
# throw e;
# }
# finally
# {
# f.Dispose();
# }
# }
这是什么原因?
8 个解决方案
#1
#2
服务器必须能ftp访问到外网、物理文件必须在服务器上、防火墙设置等
#3
服务器能访问到外网 是网站上传到服务器后 在客户机打开网站上传文件客户机上的文件 出错
#4
f = new System.Net.WebClient();
string strUserName = "#";
string strPassWord = "#";
string strServer = "#";
//f.BaseAddress = strServer;
f.Credentials = new System.Net.NetworkCredential(strUserName, strPassWord);
string strPhotoName = strPhotoPath.Split('\\')[strPhotoPath.Split('\\').Length - 1];
string strFileName = strCmpno + strXtNo + strType + "[" + strPhotoName;
//string str = @"F:\Photo\签名图\2.jpg";
FileStream myStream = new FileStream(strPhotoPath, FileMode.Open, FileAccess.Read);
byte[] dataByte = new byte[myStream.Length];
myStream.Read(dataByte, 0, dataByte.Length);
myStream.Close();
//f.UploadFile(strServer + strFileName, "STOR", @strPhotoPath);
f.UploadData(strServer + strFileName, dataByte);
代码改成这样 提示 未能找到XXX路径的一部分 无奈中...
string strUserName = "#";
string strPassWord = "#";
string strServer = "#";
//f.BaseAddress = strServer;
f.Credentials = new System.Net.NetworkCredential(strUserName, strPassWord);
string strPhotoName = strPhotoPath.Split('\\')[strPhotoPath.Split('\\').Length - 1];
string strFileName = strCmpno + strXtNo + strType + "[" + strPhotoName;
//string str = @"F:\Photo\签名图\2.jpg";
FileStream myStream = new FileStream(strPhotoPath, FileMode.Open, FileAccess.Read);
byte[] dataByte = new byte[myStream.Length];
myStream.Read(dataByte, 0, dataByte.Length);
myStream.Close();
//f.UploadFile(strServer + strFileName, "STOR", @strPhotoPath);
f.UploadData(strServer + strFileName, dataByte);
代码改成这样 提示 未能找到XXX路径的一部分 无奈中...
#5
需要临时提升你C#程序的权限 在执行完操作后恢复当前权限。
代码在家 回去找找
代码在家 回去找找
#6
上传文件并使用FTP再上传到别的服务器的方法
http://dotnet.aspx.cc/file/Upload-Files-TO-Another-File-Server-Using-FtpWebRequest-in-ASP.NET.aspx
WebClient没有测试过,不过,你的代码中 strPhotoPath 这个文件必须是服务器上的文件,不能是客户端的。客户端的一定要先上传。
在客户机打开网站上传文件客户机上的文件 出错?
程序在服务器上,跟谁上传没什么关系,在你这里上传那个服务器是正常的吗?
http://dotnet.aspx.cc/file/Upload-Files-TO-Another-File-Server-Using-FtpWebRequest-in-ASP.NET.aspx
WebClient没有测试过,不过,你的代码中 strPhotoPath 这个文件必须是服务器上的文件,不能是客户端的。客户端的一定要先上传。
在客户机打开网站上传文件客户机上的文件 出错?
程序在服务器上,跟谁上传没什么关系,在你这里上传那个服务器是正常的吗?
#7
上传到服务器,通过ftpwebrequest
路径为服务器端路径
WebClient myWebClient = new WebClient();
byte[] responseArray = myWebClient.UploadFile(服务器路径,fileName);
路径为服务器端路径
WebClient myWebClient = new WebClient();
byte[] responseArray = myWebClient.UploadFile(服务器路径,fileName);
#8
自己找到问题在哪了 网站上传到服务器后 用WebClient上传 WebClient会去找服务器上的路径 而不是找客户端的路径 所以会提示找不到路径 要用 fileupload上传才行
#1
#2
服务器必须能ftp访问到外网、物理文件必须在服务器上、防火墙设置等
#3
服务器能访问到外网 是网站上传到服务器后 在客户机打开网站上传文件客户机上的文件 出错
#4
f = new System.Net.WebClient();
string strUserName = "#";
string strPassWord = "#";
string strServer = "#";
//f.BaseAddress = strServer;
f.Credentials = new System.Net.NetworkCredential(strUserName, strPassWord);
string strPhotoName = strPhotoPath.Split('\\')[strPhotoPath.Split('\\').Length - 1];
string strFileName = strCmpno + strXtNo + strType + "[" + strPhotoName;
//string str = @"F:\Photo\签名图\2.jpg";
FileStream myStream = new FileStream(strPhotoPath, FileMode.Open, FileAccess.Read);
byte[] dataByte = new byte[myStream.Length];
myStream.Read(dataByte, 0, dataByte.Length);
myStream.Close();
//f.UploadFile(strServer + strFileName, "STOR", @strPhotoPath);
f.UploadData(strServer + strFileName, dataByte);
代码改成这样 提示 未能找到XXX路径的一部分 无奈中...
string strUserName = "#";
string strPassWord = "#";
string strServer = "#";
//f.BaseAddress = strServer;
f.Credentials = new System.Net.NetworkCredential(strUserName, strPassWord);
string strPhotoName = strPhotoPath.Split('\\')[strPhotoPath.Split('\\').Length - 1];
string strFileName = strCmpno + strXtNo + strType + "[" + strPhotoName;
//string str = @"F:\Photo\签名图\2.jpg";
FileStream myStream = new FileStream(strPhotoPath, FileMode.Open, FileAccess.Read);
byte[] dataByte = new byte[myStream.Length];
myStream.Read(dataByte, 0, dataByte.Length);
myStream.Close();
//f.UploadFile(strServer + strFileName, "STOR", @strPhotoPath);
f.UploadData(strServer + strFileName, dataByte);
代码改成这样 提示 未能找到XXX路径的一部分 无奈中...
#5
需要临时提升你C#程序的权限 在执行完操作后恢复当前权限。
代码在家 回去找找
代码在家 回去找找
#6
上传文件并使用FTP再上传到别的服务器的方法
http://dotnet.aspx.cc/file/Upload-Files-TO-Another-File-Server-Using-FtpWebRequest-in-ASP.NET.aspx
WebClient没有测试过,不过,你的代码中 strPhotoPath 这个文件必须是服务器上的文件,不能是客户端的。客户端的一定要先上传。
在客户机打开网站上传文件客户机上的文件 出错?
程序在服务器上,跟谁上传没什么关系,在你这里上传那个服务器是正常的吗?
http://dotnet.aspx.cc/file/Upload-Files-TO-Another-File-Server-Using-FtpWebRequest-in-ASP.NET.aspx
WebClient没有测试过,不过,你的代码中 strPhotoPath 这个文件必须是服务器上的文件,不能是客户端的。客户端的一定要先上传。
在客户机打开网站上传文件客户机上的文件 出错?
程序在服务器上,跟谁上传没什么关系,在你这里上传那个服务器是正常的吗?
#7
上传到服务器,通过ftpwebrequest
路径为服务器端路径
WebClient myWebClient = new WebClient();
byte[] responseArray = myWebClient.UploadFile(服务器路径,fileName);
路径为服务器端路径
WebClient myWebClient = new WebClient();
byte[] responseArray = myWebClient.UploadFile(服务器路径,fileName);
#8
自己找到问题在哪了 网站上传到服务器后 用WebClient上传 WebClient会去找服务器上的路径 而不是找客户端的路径 所以会提示找不到路径 要用 fileupload上传才行