using BestHTTP;
using BestHTTP.Authentication;
using BestHTTP.WebSocket;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
using UnityEngine;
/// <summary>
/// 下载一张图片
/// </summary>
public class BestDemo : MonoBehaviour
{
GameObject obj;
void Start()
{
obj = GameObject.CreatePrimitive(PrimitiveType.Cube);
//HTTPRequest request = new HTTPRequest(new Uri("http://f.hiphotos.baidu.com/image/pic/item/f603918fa0ec08faf4f358d454ee3d6d54fbdad6.jpg"),OnRequestFinished);
//request.Send();
//HTTPRequest request = new HTTPRequest(new Uri("http://f.hiphotos.baidu.com/image/pic/item/f603918fa0ec08faf4f358d454ee3d6d54fbdad6.jpg"),
// HTTPMethods.Post,
//OnRequestFinished);
//request.AddField("FieldName", "Field Value");
// request.AddBinaryData();
//request.RawData = Encoding.UTF8.GetBytes("Field Value");
//request.Send();
//Debug.Log(request.RawData.ToString());
//StartCoroutine(WWWFun());
var request = new HTTPRequest(new Uri("http://f.hiphotos.baidu.com/image/pic/item/f603918fa0ec08faf4f358d454ee3d6d54fbdad6.jpg"), (req, resp) =>
{
print("OK");
List<byte[]> fragments = resp.GetStreamedFragments();//下载的缓存的数据信息
using (FileStream fs = new FileStream("pathToSave", FileMode.Append))
foreach (byte[] data in fragments)
fs.Write(data, 0, data.Length);
if (resp.IsStreamingFinished)
Debug.Log("Download finished!");//下载完成
});
//切换了标志位-UseStreaming为true,所以回调函数可以被反复调用。
request.UseStreaming = true;
//StreamFragmentSize标示了我们在调用回调函数之前希望缓存的最大数据量。
//每当StreamFragmentSize 大小的数据块下载后我们的回调函数就会被调用,
//并且在IsStreamingFinished 设为true之后还会再调用一次。
request.StreamFragmentSize = 1 * 1024 * 1024;//设置接受包数据的大小
//关闭缓存
request.DisableCache = true;
request.Send();
BsetHtttp通信
最新推荐文章于 2023-12-07 11:06:13 发布