文件上传错误

时间:2009-02-07 13:46:22

标签: c# asp.net http file upload

这是我在客户端和服务器端的代码。我的代码很简单,只需将文件上传到ASP.Net网站即可。

我的客户端代码在Vista(x64,Enterprise,SP1)上运行时抛出异常,但在Windows Server 2003上运行正常。

有什么想法吗?

10.10.12.162是我的服务器地址。

[代码] 客户端:

   static void Main(string[] args)
    {
        Console.Write("\nPlease enter the URI to post data to : ");
        String uriString = Console.ReadLine();

        WebClient myWebClient = new WebClient();

        Console.WriteLine("\nPlease enter the fully qualified path of the file to be uploaded to the URI");
        string fileName = Console.ReadLine();
        Console.WriteLine("Uploading {0} to {1} ...", fileName, uriString);

        DateTime begin = DateTime.Now;

        byte[] responseArray = null;
        try
        {
            responseArray = myWebClient.UploadFile(uriString, fileName);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            Console.WriteLine(ex.ToString());
        }

        DateTime end = DateTime.Now;

        Console.WriteLine("Elapsed time is: {0}", (end - begin).TotalMilliseconds);
    }

服务器:

public partial class FileUploadHandler : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        foreach (string f in Request.Files.AllKeys)
        {
            HttpPostedFile file = Request.Files[f];
            file.SaveAs("D:\\UploadFile\\UploadedFiles\\" + file.FileName);
        }
    }
}

来自客户端的例外:

无法连接到远程服务器 System.Net.WebException:无法连接到远程服务器---> System.Net。 Sockets.SocketException:因为目标机器无法建立连接 积极拒绝它10.10.12.162:1031    在System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot,SocketAddre ss socketAddress)    在System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure,Sock et s4,Socket s6,Socket& socket,IPAddress&地址,ConnectSocketState状态, IAsyncResult asyncResult,Int32 timeout,Exception&例外)    ---内部异常堆栈跟踪结束---    在System.Net.WebClient.UploadFile(Uri地址,String方法,String fileNam E)    在D:\ UploadFile \ FileUploadClient \ Program.cs中的FileUploadClient.Program.Main(String [] args):第30行 [/代码]

的问候, 乔治

1 个答案:

答案 0 :(得分:1)

这段代码没什么可以让我感到惊恐的。

在机器上打开导致问题的远程桌面。 打开命令行。 发出命令:

telnet 10.10.12.162 1031

您是否看到了游标,或者telnet是否会出现无法连接的错误?如果从telnet收到错误,您可能会遇到与您的代码无关的NIC问题/防火墙问题/路由器问题/其他连接问题。