博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity3D 上传日志
阅读量:1984 次
发布时间:2019-04-27

本文共 2599 字,大约阅读时间需要 8 分钟。

上传日志到服务器,需要先将日志进行压缩,首先下载压缩库Ionic.Zip.dll

Ionic.Zip.dll下载:http://yunpan.cn/cj7U6E4RrRh6m  访问密码 b6df

丢到工程的Assets\Plugins目录下

然后

using Ionic.Zip;

接着就可以使用啦

上传文件需要用到WWW,所以要使用协程,所以要继承MonoBehaviour,或者继承MonoBehaviour的子类

using Ionic.Zip;using System.IO;using UnityEngine;public class UploadFile:MonoBehaviour{    protected override void Start()    {        string filePath="d:/test/test.text";        string savePath="d:/test/test.zip";        #if !UNITY_EDITOR        filePath = "mnt/sdcard/output_log.txt";        savePath = "mnt/sdcard/output_log.zip";        #endif        try        {            if(File.Exists(filePath))            {                using(ZipFile zip = new ZipFile())                {                    ZipEntry e = zip.AddFile(filePath,"");                    zip.Save(savePath);                }                using(FileStream fs = File.OpenRead(savePath))                {                    long i=0;                    long length = fs.Length;                    byte[] data = new byte[length];                    long offset = data.Length>1024?1024:data.Length;                    while(i
offset?offset:tem;                                                //以时间为文件名//                        DateTime now = DateTime.Now;                        string fileName=string.Format("{0}.dat",now.Year+""+now.Month+""+now.Day+"_"+now.Hour+""+now.Minute+""+now.Second);                        StartCoroutine(upload(fileName,data));                    }                }            }        } }    IEnumerator upload(string fileName,byte[] data)    {        WWWForm form = new WWWForm();        form.AddField("type","file");        form.AddBinaryData("log_file", data, fileName, "application/x-gzip");        string url="http://192.168.0.119:8080/uploadLog"; #if !UNITY_EDITOR        url = "http://192.168.218.1:8080/uploadLog";    //外网的地址// #endif        WWW w=new WWW(url,form);        yield return w;        if(w.error != null)        {            Debug.LogError(w.error);        }        else        {            if(w.text != null)            {                Debug.Log("Finished Uploading:"+w.text);            }        }        yield return null;    }}

 

注意,WWWForm的AddBinaryData接口的第四个参数是mimeType,

常见的MIME类型如下:
超文本标记语言文本.html,           text/html
普通文本  .txt               text/plain
RTF文本  .rtf               application/rtf
GIF图形  .gif                            image/gif
JPEG图形  .ipeg,.jpg               image/jpeg
au声音文件  .au                       audio/basic
MIDI音乐文件  .mid,.midi          audio/midi,  audio/x-midi
RealAudio音乐文件 .ra, .ram           audio/x-pn-realaudio
MPEG文件  .mpg,.mpeg                 video/mpeg
AVI文件  .avi                    video/x-msvideo
GZIP文件  .gz                  application/x-gzip
TAR文件  .tar                   application/x-tar

转载地址:http://trzvf.baihongyu.com/

你可能感兴趣的文章
xss-labs详解(下)11-20
查看>>
攻防世界web进阶区ics-04详解
查看>>
sql注入总结学习
查看>>
欧拉角(Euler angle) & 万向节死锁(Gimbal Lock) & 四元数(Quaternion)
查看>>
Linux png转jpg (convert命令)
查看>>
Ubuntu更新后终端中字体的颜色全是白色
查看>>
vscode git
查看>>
基于MATLAB的二进制数字调制与解调信号的仿真——2PSK
查看>>
基于MATLAB的模拟调制信号与解调的仿真——DSB
查看>>
HDU - 1166 敌兵布阵 (树状数组模板题/线段树模板题)
查看>>
CodeForces - 456C Boredom (dp)
查看>>
CodeForces - 675A Infinite Sequence(简单数论 细节)
查看>>
CodeForces - 1042B Vitamins (思维)
查看>>
ACM 2013 长沙区域赛 Collision (几何)
查看>>
ACM 2014 鞍山区域赛 E - Hatsune Miku (dp)
查看>>
反向传播&梯度下降 的直观理解程序(numpy)
查看>>
CodeForces - 931B World Cup (思维 模拟)
查看>>
ACM 2017 北京区域赛 J-Pangu and Stones(区间dp)
查看>>
java常用类 String面试题
查看>>
四线触摸屏原理
查看>>