问题描述
我想使用 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 找不到名称空间 FtpWebRequest
或 WebRequestMethods
.我尝试使用 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 上传?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!