【问题标题】:c# Load Image from ftp server directly into picture box without downloadingc# 将图片从ftp服务器直接加载到图片框中,无需下载
【发布时间】:2018-04-16 16:42:45
【问题描述】:

我到处寻找答案,但找不到正确的解决方案。尝试了许多提供的解决方案,但仍然无法通过。我在 ftp 服务器中上传了一张图片,我希望它显示在图片框中在 Windows 形式下,无需将其下载到本地计算机。可能吗? 请附上解决方案的完整代码......

【问题讨论】:

    标签: c# ftp


    【解决方案1】:

    这是一个完整的代码:如果任何身体需要。确保图像不大!

    public byte [] GetImgByte (string ftpFilePath)
    {
        WebClient ftpClient = new WebClient();
        ftpClient.Credentials = new NetworkCredential(ftpUsername,ftpPassword);
    
        byte[] imageByte = ftpClient.DownloadData(ftpFilePath);
        return imageByte;
    }
    
    public static Bitmap ByteToImage(byte[] blob)
    {
        MemoryStream mStream = new MemoryStream();
        byte[] pData = blob;
        mStream.Write(pData, 0, Convert.ToInt32(pData.Length));
        Bitmap bm = new Bitmap(mStream, false);
        mStream.Dispose();
        return bm;
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用 DownloadData 获取字节数组并将其加载到图片框中 - 请参阅 Download file directly to memoryHow to put image in a picture box from a byte[] in C#

      【讨论】:

      • 使用服务器的直接文件路径会出错............文件无法访问......可能是因为没有提供凭据......所以我会怎么做在下载数据之前向服务器提供身份验证
      • client.Credentials = new System.Net.NetworkCredential("username", "password");
      • 很抱歉,但这对我没有帮助……如果您可以发布有关此特定问题的完整代码,是否有可能……
      • 你给我看的路径显然是在做某事......我猜代码正在工作......但问题是正在显示的图像只是一个蓝色图像没有别的...... ..仍然无法弄清楚请帮助! @NDJ
      • 很高兴你知道了。抱歉无法回答 cmets,睡着了 :) 如果它帮助您解决问题,请随时接受答案。
      猜你喜欢
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多