上传日志到服务器,需要先将日志进行压缩,首先下载压缩库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<length)
{
int realRead = fs.Read(data,(int)i,(int)offset);
i+=realRead;
long tem=length -i;
offset=tem>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
原文地址:https://linxinfa.blog.csdn.net
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。