当前位置:  开发笔记 > 编程语言 > 正文

使用webclient类将文件上载到文件服务器

如何解决《使用webclient类将文件上载到文件服务器》经验,为你挑选了1个好方法。

目前我有一个应用程序从我的Web应用程序接收上传的文件.我现在需要将该文件传输到恰好位于同一网络上的文件服务器(但事实并非总是如此).

我试图在C#.NET中使用webclient类.

    string filePath = "C:\\test\\564.flv";
    try
    {
        WebClient client = new WebClient();

        NetworkCredential nc = new NetworkCredential(uName, password);

        Uri addy = new Uri("\\\\192.168.1.28\\Files\\test.flv");
        client.Credentials = nc;
        byte[] arrReturn = client.UploadFile(addy, filePath);
        Console.WriteLine(arrReturn.ToString());
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }

位于192.168.1.28的计算机是文件服务器,共享c:\ Files.截至目前,我收到登录失败的错误用户名或密码错误,但我可以打开资源管理器并输入该路径成功登录.我也可以使用远程桌面登录,所以我知道用户帐户有效.

有关此错误的任何想法?是否可以像这样直接传输文件?使用webclient类或者其他类?



1> TheSoftwareJ..:

只是用

File.Copy(filepath, "\\\\192.168.1.28\\Files");

通过UNC路径公开的Windows文件共享被视为文件系统的一部分,与Web无关.

使用的凭据将是ASP.NET辅助进程的凭据,或者您启用的任何模拟.如果你可以调整那些以使其正确,这可以做到.

您可能会遇到问题,因为您使用的是IP地址而不是服务器名称(Windows信任设置会阻止离开域 - 通过使用IP隐藏任何域详细信息). 如果可能,请使用服务器名称!

如果这不在同一个Windows域中,并且您尝试使用其他域帐户,则需要将用户名指定为"[domain_or_machine]\[username]"

如果您需要指定显式凭据,则需要查看对模拟解决方案的编码.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有