使用UE4插件SimpleHTTP的技巧

2023-11-18

UE4插件名: SimpleHTTP

版本 1.1

目录

  1. 前置工作
  2. 上传资源
  3. 下载资源
  4. 删除资源
  5. 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

SimpleHTTP

一切准备就绪 就可以大胆的使用本插件了;


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;
};

 

可以看得出非常简单,而且易上手,好,那本次的分享到此结束,谢谢。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用UE4插件SimpleHTTP的技巧 的相关文章

随机推荐

  • MRTK各个版本的资源包

    发布 microsoft MixedRealityToolkit Unity GitHub自己进链接选择版本 拿走不谢
  • mysql 查看锁表信息

    查看进程 SHOW PROCESSLIST 查看是否锁表 SHOW OPEN TABLES WHERE In use gt 0 查看正在锁的事务 SELECT FROM INFORMATION SCHEMA INNODB LOCKS 查看等
  • 【贪心算法】阿里巴巴与四十大盗——背包问题与0-1背包问题

    前言 关于贪心算法 我在这篇博客中已经做了简单的介绍 初识贪心算法 下面来介绍一下贪心算法中的一个经典的问题 背包问题 一 问题描述 一天 阿里巴巴赶着一头毛驴上山砍柴 无意间在远处发现了一群盗贼 他们把偷窃强盗来的宝物全部藏在一个山洞里
  • Intent中addFlags()和SetFlags()的区别和详解

    两个方法的区别是setflag是直接给intent设置新的flag addflag是在已有flag上添加新的flag Public Intent addFlags int flags 增加额外的标志到Intent 或者已经存在的flags值
  • JavaScript 數組常用 API 整理

    JavaScript 數組常用 API 整理 push args pop shift unshift args join args concat args slice start end splice start deleteCount v
  • 史上最全的 iOS 各种测试工具集锦,看看有没有你不知道的

    引言 随着移动互联网的兴起 APP 测试的越来越被重视 Android 系统因为自己的开源性 测试工具和测试方法比较广为流传 但是 iOS 系统的私密性 导致很多测试的执行都有点麻烦 为了帮助大家更好的执行 iOS APP 的测试 本文为大
  • linux中 > 、>> 的用法

    linux中 gt 表示覆盖原文件内容 文件的日期也会自动更新 gt gt 表示追加内容 会另起一行 文件的日期也会自动更新 1 将history命令执行的结果保存到history log文件中 root gxzs solr1 histor
  • app与小程序的区别和优劣势

    在今天的移动互联网时代 APP与小程序已成为人们生活中的不可或缺的一部分 虽然两者都可以在智能手机上运行 但它们之间存在着不同 有些人可能会认为两者并无太大区别 但事实上这两种技术有着各自独特的优劣势 1 区别 APP Applicatio
  • flink学习43:基于行的操作map、flatmap、聚合

    Map FlatMap 聚合
  • 在桌面Linux环境下开发图形界面程序的方案对比

    在Linux下开发GUI程序的方法有很多 比如Gnome桌面使用GTK 作为默认的图形界面库 KDE桌面使用Qt作为默认的图形界面库 wxWidgets则是另一个使用广泛的图形库 此外使用Java中的Swing AWT组件也可以用于开发Li
  • 没有与参数列表匹配的 重载函数 std::vector<>::erase(remove)

    include
  • 白盒测试用例设计方法学习笔记(二)----基本路径测试法

    转载请注明出处 白盒测试用例设计方法主要分为两种 1 逻辑覆盖法 2 基本路径测试法 本文主要对基本路径测试法的相关进行整理 基本路径测试法 基本路径测试法 是在程序控制流图的基础上通过分析控制构造的环境复杂性导出基本可执行路径的集合 从而
  • Oracle表空间详细介绍

    表空间概述 Oracle的表空间属于Oracle中的存储结构 是一种用于存储数据库对象 如 数据文件 的逻辑空间 是Oracle中信息存储的最大逻辑单元 其下还包含有段 区 数据块等逻辑数据类型 表空间是在数据库中开辟的一个空间 用于存放数
  • 小白入门angular(一)

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 操作系统 window 10 IDE webstorm 步骤一 安装nodeJS 链接为https nodejs org en 选择对应的node版本 安装node时会自动
  • Python基础知识第四篇:方法重写+文件处理+异常处理,冒死上传

    Python基础知识第四篇 基础知识第一话 基础知识第二话 基础知识第三话 今天给大家分享的是第四篇 前面几篇我都放在上面了 小伙伴可以自己领取巩固复习 方法重写 Python学习交流Q群 906715085 print 方法重写 codi
  • MATLAB滤波算法和LabVIEW心电图诊断系统

    心电图的生理 我们的目标是构建一个心电图 ECG 它不仅可以自动计算心率 还可以检测其他心脏异常 这需要对 ECG 信号进行更高级的分析 为了实现这一目标 需要完成几个步骤 如下面的流程图所示 在我们详细介绍如何构建 ECG 之前 了解 E
  • Stata学习笔记

    目录 数据的三种类型 在stata中以颜色区分 类型转化 1 destring 红转黑 限于第一种红色 2 tostring 黑转红 3 encode 红转蓝 限于第二种红色 4 label define label value 黑转蓝 5
  • rk3568 nvme硬盘分区,格式化,挂载测试

    前言 环境介绍 1 编译环境 Ubuntu 18 04 5 LTS 2 SDK rk356x linux 3 单板 迅为itop 3568开发板 自制底板 一 查看硬盘 插上硬盘上电 进入系统后通过命令lspci查看nvme硬盘识别情况 r
  • 容灾备份

    欢迎关注 全栈工程师修炼指南 公众号 点击 下方卡片 即可关注我哟 设为 星标 每天带你 基础入门 到 进阶实践 再到 放弃学习 涉及 企业运维 网络安全 应用开发 物联网 人工智能 大数据 学习知识 花开堪折直须折 莫待无花空折枝 作者主
  • 使用UE4插件SimpleHTTP的技巧

    UE4插件名 SimpleHTTP 版本 1 1 目录 前置工作 上传资源 下载资源 删除资源 SimpleHTTP源码接口 哈喽大家好 我叫人宅 这节课我们来讲解一下SimpleHTTP使用技巧 该插件目前提供了对web服务器进行上传下载