zoukankan      html  css  js  c++  java
  • unity保存字符串内容到服务器ftp站点

    目标是将unity场景数据直接保存在测试服务器某文件夹内,保存为json格式。

    因为用IIS只部署了一个简单的服务器,使用UnityWebRequest上传文件方式不行,所以创建了ftp站点并用FtpWebRequest实现上传。

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Net;
    using System.Text;
    using UnityEngine;
    namespace UPLoadFTP
    {
        class UpLoadFiles
        {
            private static string FTPCONSTR = "ftp://XXX.XXX.XXX.XXX/";//FTP的服务器地址格式(ftp://192.168.1.234/)。ip地址和端口换成自己的,这些建议写在配置文件中,方便修改
            private static string FTPUSERNAME = "Upload";//我的FTP服务器的用户名
            private static string FTPPASSWORD = "1234";//我的FTP服务器的密码
            /// <summary>
            /// 保存字符串内容到FTP
            /// </summary>
            /// <param name="ftpPath">存储上传文件的ftp路径</param>
            /// <param name="fileName">上传文件名称</param>
            /// <returns></returns>
            public static bool UploadFiles(string ftpPath, string fileName)
            {
                string str = "stringContest";
                byte[] array = Encoding.UTF8.GetBytes(str);
                MemoryStream stream = new MemoryStream(array);
                string erroinfo = "";//错误信息
    string path; path = FTPCONSTR + ftpPath + fileName; FtpWebRequest reqFtp = (FtpWebRequest)WebRequest.Create(new Uri(path)); reqFtp.UseBinary = true;//代表可以发送图片 reqFtp.Credentials = new NetworkCredential(FTPUSERNAME, FTPPASSWORD); reqFtp.KeepAlive = false;//在请求完成之后是否关闭到 FTP 服务器的控制连接 reqFtp.Method = WebRequestMethods.Ftp.UploadFile;//表示将文件上载到 FTP 服务器的 FTP STOR 协议方法 reqFtp.ContentLength = stream.Length;//本地上传文件的长度 int buffLength = 2048;//缓冲区大小 byte[] buff = new byte[buffLength];//缓冲区 int contentLen;//存放读取文件的二进制流 try { Stream strm = reqFtp.GetRequestStream();//将FtpWebRequest转换成stream类型 contentLen = stream.Read(buff, 0, buffLength);//存放读取文件的二进制流 //进度条 while (contentLen != 0) { strm.Write(buff, 0, contentLen); contentLen = stream.Read(buff, 0, buffLength); } //释放资源 stream.Close(); strm.Close(); erroinfo = "完成"; return true; } catch (Exception ex) { erroinfo = string.Format("无法完成上传" + ex.Message); Debug.Log(erroinfo); return false; } } } }
    调用:UpLoadFiles.UploadFiles("/config/", "test5.json"); config为FTP站点下文件夹名字

      

    引用链接:https://blog.csdn.net/qq_42345116/article/details/111190763

  • 相关阅读:
    关于VGG网络的介绍
    nvidia-docker 安装
    test
    ARTS-S EN0002-London HIV patient's remission spurs hope for curing AIDS
    ARTS-S EN0001-In tech race with China, US universities may lose a vital edge
    ARTS-S Why do India and Pakistan keep fighting over Kashmir?
    ARTS-S sed指定行添加
    ARTS-S linux查看进程打开的文件数
    ARTS-S centos查看端口被哪个进程占用
    ARTS-S centos修改hostname
  • 原文地址:https://www.cnblogs.com/chenxiya/p/14994117.html
Copyright © 2011-2022 走看看