版本:2022.3
语言:英语
创建 UnityWebRequests
创建 DownloadHandlers

创建 UploadHandlers

目前,只有一种类型的上传处理器可用:UploadHandlerRaw。这个类在构造时接受一个数据缓冲区。这个缓冲区会内部复制到本地代码内存,并在远程服务器准备好接受正文数据时,由 UnityWebRequest 系统使用。

Upload Handlers 还接受一个内容类型字符串。如果未在 UnityWebRequest 上设置 Content-Type 头部,该字符串用于设定 UnityWebRequest 的 Content-Type 头部的值。如果您手动在 UnityWebRequest 对象上设置 Content-Type 头部, Upload Handler 对象上的 Content-Type 将被忽略。

如果既未在 UnityWebRequest 上也未在 UploadHandler 上设置 Content-Type,系统默认设置为 application/octet-stream

UnityWebRequest 有一个属性 disposeUploadHandlerOnDispose,默认值为 true。如果这个属性为 true,当 UnityWebRequest 对象被销毁时,Dispose() 也会被调用于附加的上传处理器,使其变得无效。如果您保持对上传处理器的引用时间比 UnityWebRequest 的引用时间长,您应该将 disposeUploadHandlerOnDispose 设置为 false。

示例

byte[] payload = new byte[1024];
// ... fill payload with data ...

UnityWebRequest wr = new UnityWebRequest("https://www.mysite.com/data-upload");
UploadHandler uploader = new UploadHandlerRaw(payload);

// Sends header: "Content-Type: custom/content-type";
uploader.contentType = "custom/content-type";

wr.uploadHandler = uploader;
创建 UnityWebRequests
创建 DownloadHandlers