UE4插件名: SimpleHTTP
版本 1.1
目录
- 前置工作
- 上传资源
- 下载资源
- 删除资源
- SimpleHTTP源码接口
哈喽大家好,我叫人宅,这节课我们来讲解一下SimpleHTTP使用技巧;
该插件目前提供了对web服务器进行上传下载和删除的函数接口,分别是:
bool GetObject(const FString &URL, const FString &SavePaths);
bool PutObject(const FString &URL, TArray<uint8> &Data);
bool PutObject(const FString &URL, const FString &LocalPaths);
bool PutObject(const FString &URL, TSharedRef<FArchive, ESPMode::ThreadSafe> Stream);
bool DeleteObject(const FString &URL);
该插件使用上也是非常方便,无需繁杂的注册环节,即可使用:
1.前置工作
在使用该插件需要包含头文件
#include "SimpleHttpManage.h"
在你需要包含的模块.Build.cs
一切准备就绪 就可以大胆的使用本插件了;
2.上传资源
我们拿阿里云OSS服务端做例子
//域名 wersdfd.oss-cn-beijing.aliyuncs.com
//格式 https://<域名>/<对象名>/<对象名>/...
//https://wersdfd.oss-cn-beijing.aliyuncs.com/Hello.zip
FString URL = "https://wersdfd.oss-cn-beijing.aliyuncs.com/Hello.zip";
FString LocalPaths = "F:/PJ/TestOSS/SimpleHTTP.zip";
if (!FSimpleHttpManage::Get()->PutObject(URL, LocalPaths))
{
check(0);
}
3.下载资源
FString URL = "https://wersdfd.oss-cn-beijing.aliyuncs.com/Hello.zip";
FString LocalPaths = "F:/PJ/TestOSS/WWWEEEERRR.zip";
if (!FSimpleHttpManage::Get()->GetObject(URL, LocalPaths))
{
check(0);
}
4.删除资源
FString URL = "https://wersdfd.oss-cn-beijing.aliyuncs.com/Hello.zip";
if (!FSimpleHttpManage::Get()->DeleteObject(URL))
{
check(0);
}
5.SimpleHTTP源码接口
#pragma once
#include "CoreMinimal.h"
#include "Interfaces/IHttpRequest.h"
#include "Interfaces/IHttpResponse.h"
class SIMPLEHTTP_API FSimpleHttpManage
{
public:
FSimpleHttpManage();
~FSimpleHttpManage();
static FSimpleHttpManage *Get();
static void Destroy();
bool GetObject(const FString &URL, const FString &SavePaths);
bool PutObject(const FString &URL, TArray<uint8> &Data);
bool PutObject(const FString &URL, const FString &LocalPaths);
bool PutObject(const FString &URL, TSharedRef<FArchive, ESPMode::ThreadSafe> Stream);
private:
void HttpRequestComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bConnectedSuccessfully);
void HttpRequestProgress(FHttpRequestPtr Request, int32 BytesSent, int32 BytesReceived);
void HttpRequestHeaderReceived(FHttpRequestPtr Request, const FString& HeaderName, const FString& NewHeaderValue);
void Print(const FString &Msg,float Time = 10.f,FColor Color = FColor::Red);
private:
static FSimpleHttpManage *SimpleHttp;
FCriticalSection Mutex;
FString TmpSavePaths;
};
可以看得出非常简单,而且易上手,好,那本次的分享到此结束,谢谢。
更新日记
2021.11.4: 5.0-HTTP 该插件增加了中文的URL支持。可以进行特殊字符的文件下载等。
2021.11.7:为5.0-HTTP请求分离的子类,便于维护;
2021.11.22为5.0-HTTP增加了下载暂停,取消下载,优化HTTPClient代码结构,增加了句柄获取,执行请求后再执行句柄获取可以获取上次请求的句柄,该句柄可以为HTTP请求做更精细的控制。
一.商业版本和学习版本的对比
二.您还未登陆哦
三.该资源出自以下课程
四.相关解决方案
付费版本包含源码,可以二次开发,如果您不需要二次开发,或者想先试用一下,那么我建议先用免费版本,有的免费版本需要登录。
如果免费版本蓝图无法启动,请点击我,里面有解决方案
如果有问题 请加入 售后QQ群:946331852 我们会收集问题,安排维护
如果有希望新增的功能也可以反应到售后,我们会安排添加,感谢理解。
五.社区版本(主要针对不需要登录本站的用户)
能开发票吗?
可以 ,单独找我开发票,专票和普票都可以