Windows 10 通用应用程序中的 C# Ftp 上传?

C# Ftp Upload in Windows 10 Universal app?(Windows 10 通用应用程序中的 C# Ftp 上传?)
本文介绍了Windows 10 通用应用程序中的 C# Ftp 上传?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用 ftp 从 Windows 10 应用程序上传文件,我尝试了以下代码.

I want to upload files from windows 10 app using ftp, I tried the following code.

    using System;
    using System.IO;
    using System.Net;
    using System.Text;

    namespace Examples.System.Net
    {
        public class WebRequestGetExample
        {
            public static void Main ()
            {
        // Get the object used to communicate with the server.
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
        request.Method = WebRequestMethods.Ftp.UploadFile;

        // This example assumes the FTP site uses anonymous logon.
        request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");

        // Copy the contents of the file to the request stream.
        StreamReader sourceStream = new StreamReader("testfile.txt");
        byte [] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
        sourceStream.Close();
        request.ContentLength = fileContents.Length;

        Stream requestStream = request.GetRequestStream();
        requestStream.Write(fileContents, 0, fileContents.Length);
        requestStream.Close();

        FtpWebResponse response = (FtpWebResponse)request.GetResponse();

        Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);

        response.Close();
        }
    }
        }
    }

但 Visual Studio 找不到名称空间 FtpWebRequestWebRequestMethods.我尝试使用 link 但它说 WinRT information: 'uri': 上传内容仅支持 'http' 和 'https' 方案. 不支持 ftp.

But visual studio couldn't find the name space FtpWebRequest or WebRequestMethods. The other method i tried using backgroundtransfer api's from link but it says that WinRT information: 'uri': Uploading content is only supported for 'http' and 'https' schemes. not ftp.

那么有什么解决方案可以显示进度条和速度吗?

So is there any solution to this where i can show progress bar and speed?

推荐答案

FtpWebRequest 类不是 UWP 应用商店配置文件的一部分,并且不支持通过 BackgroundTransfer API 进行 FTP 上传(如您所确定).这使您可以通过套接字实现自己的 FTP 协议.请参阅 WinRT 中的 FTP Endeavor 了解说明和一个样本的链接.

The FtpWebRequest class is not part of the store profile for UWP apps, and FTP upload (as you determined) is not supported via the BackgroundTransfer API. This leave you with implementing your own FTP protocol over sockets. See FTP Endeavor in WinRT for an explanation and a link to a sample.

这篇关于Windows 10 通用应用程序中的 C# Ftp 上传?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)