从 Unity 与 FileZilla 服务器通信

Communicate from Unity to a FileZilla server

我已经从 Unity 创建了一些文件,我想将它们发送到我创建的本地服务器(使用 FileZilla 服务器)。知道如何从我拥有的统一项目与我使用 FileZilla 创建的服务器进行通信吗?我正在尝试执行建议的代码,但出现以下错误:

UriFormatException: Invalid URI: Invalid port number System.Uri.Parse (UriKind kind, System.String uriString) System.Uri.ParseUri (UriKind kind) System.Uri..ctor (System.String uriString, Boolean dontEscape) System.Uri..ctor (System.String uriString) recorgingX.UploadFile (System.String filepath) recorgingX.OnGUI ()

作为 m_FtpHost 我给了

ftp:// + ip + portID

编辑:我更改了斜杠字符,我不再遇到这个问题。现在我的问题是,当我调用 UploadFile (outName); 时,它不会将其上传到服务器。我如何检查发生了什么?建议的代码在 c# 项目中运行良好,但是当导入到 UNity 项目中时,它不会执行任何操作。在 filezilla 服务器中,我收到以下内容:

10/2015 17:18:52 PM - (not logged in) (127.0.0.1)> USER userID
(000025)11/10/2015 17:18:52 PM - (not logged in) (127.0.0.1)> 331 Password required for chrathan
(000025)11/10/2015 17:18:58 PM - (not logged in) (127.0.0.1)> PASS ***********
(000025)11/10/2015 17:18:58 PM - (not logged in) (127.0.0.1)> 530 Login or password incorrect!

您可以使用 System.Net.WebClient class 将文件上传到 FTP 服务器。

这是一个关于如何做到这一点的理论示例。

using System;
using System.Net;

public string m_FtpHost = "ftp://myftpserver.com";
public string m_FtpUsername = "FTP username";
public string m_FtpPassword = "FTP password";

public void UploadFile(string filepath)
{
    // Get an instance of WebClient
    WebClient client = new System.Net.WebClient();
    // parse the ftp host and file into a uri path for the upload
    Uri uri = new Uri(m_FtpHost + new FileInfo(filepath).Name);
    // set the username and password for the FTP server
    client.Credentials = new System.Net.NetworkCredential(m_FtpUsername, m_FtpPassword);
    // upload the file asynchronously, non-blocking.
    client.UploadFileAsync(uri, "STOR", filepath);
}

可在 MSDN https://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.110).aspx

上找到 WebClient 和其他所需 classes 的文档