2015-11-10 5 views
1

Я создал несколько файлов из Unity, и я хочу отправить их на локальный сервер, который я создал (используя сервер FileZilla). Любая идея, как я могу связаться с проектом единства, который у меня есть на сервере, который я создал с помощью FileZilla? Я пытаюсь реализовать предложенный код, я получил следующее сообщение об ошибке:Общайтесь с Unity на сервере 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

EDIT: я изменить символы косых черт, и я больше не получить этот вопрос. Теперь моя проблема в том, что, пока я звоню 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! 
+3

Вы говорите о Microsoft Unity или Unity3D? –

+0

Что такое другое? Я не слышал о Microsoft Unity. –

+0

Ну, Unity - это контейнер для инъекций зависимых, а Unity3D - игровой движок. Я подозреваю, что вы имеете в виду игровой движок. –

ответ

2

Вы можете использовать System.Net.WebClient класс, чтобы загрузить файл на 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); 
} 

Документация для WebClient и других необходимых классов можно найти на сайте MSDN https://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.110).aspx