当前位置: 首页 > wzjs >正文

广州网站开发就业培训课程网站推广如何收费

广州网站开发就业培训课程,网站推广如何收费,下载企查查企业查询,广州网站制作WebFilePicker.jslib (放在Plugins目录) var WebFilePickerLibrary {/*** 从浏览器中获取文件并发送给 Unity WebGL 应用程序。* param {number} objectNamePtr - Unity 对象名称的指针。* param {number} funcNamePtr - Unity 回调函数名称的指针。* param {number} fileTyp…

WebFilePicker.jslib (放在Plugins目录)

var WebFilePickerLibrary = {/*** 从浏览器中获取文件并发送给 Unity WebGL 应用程序。* @param {number} objectNamePtr - Unity 对象名称的指针。* @param {number} funcNamePtr - Unity 回调函数名称的指针。* @param {number} fileTypePtr - 允许的文件类型字符串的指针。* @param {number} allowMultiple - 是否允许多选(1 表示允许多选,0 表示单选)。* @param {number} maxSizeMB - 文件大小限制(单位:MB)。如果 <=0,则无限制。*/getFileFromBrowser: function(objectNamePtr, funcNamePtr, fileTypePtr, allowMultiple, maxSizeMB) {var objectName = UTF8ToString(objectNamePtr);var funcName = UTF8ToString(funcNamePtr);var fileType = UTF8ToString(fileTypePtr);var maxSizeBytes = maxSizeMB > 0 ? maxSizeMB * 1048576 : 0;var input = document.createElement("input");input.type = "file";input.multiple = !!allowMultiple; // 转换为布尔值input.accept = fileType;input.style.display = "none";/*** 处理通用文件* @param {File[]} files - 用户选择的文件列表。*/var handleFiles = function(files) {var results = [];var filesProcessed = 0;for (let i = 0; i < files.length; i++) {const file = files[i];// 检查文件大小限制if (maxSizeBytes > 0 && file.size > maxSizeBytes) {SendMessage(objectName, funcName,`error:File '${file.name}' exceeds limit (${(file.size / 1048576).toFixed(1)}MB/${maxSizeMB}MB)`);return;}const reader = new FileReader();reader.onload = (e => {results.push({name: file.name,type: file.type,data: new Uint8Array(e.target.result)});filesProcessed++;// 所有文件处理完毕时发送结果if (filesProcessed === files.length) {var resultData = results.map(result => {return {name: result.name,type: result.type,data: Array.from(result.data)};});SendMessage(objectName, funcName, JSON.stringify(resultData));}});reader.readAsArrayBuffer(file);}};// 监听文件选择事件input.addEventListener('change', function(evt) {const files = evt.target.files;if (!files || files.length === 0) {SendMessage(objectName, funcName, "error:No file selected");return;}handleFiles(files);});// 触发文件选择对话框document.body.appendChild(input);input.click();document.body.removeChild(input);}
};mergeInto(LibraryManager.library, WebFilePickerLibrary);

WebFilePicker.cs

using System;namespace MYTOOL
{[Serializable]public class FileResult{public string name;     // 文件名称public string type;    // MIME 类型public byte[] data;    // 二进制数据}/// <summary>/// 提供与Unity WebGL平台交互的方法,用于从浏览器中获取文件(图片、视频或其他类型)/// </summary>public static class WebFilePicker{public const string IMAGE_FILE_TYPE = "image/*";public const string VIDEO_FILE_TYPE = "video/*";#if UNITY_WEBGL[System.Runtime.InteropServices.DllImport("__Internal")]private static extern void getFileFromBrowser(string objName, string methodName, string fileType, bool allowMultiple, int maxSizeMB);
#endif/// <summary>/// 从浏览器中获取图片文件/// </summary>/// <param name="objName">Unity对象名称</param>/// <param name="methodName">Unity回调方法名称</param>/// <param name="maxSizeMB">文件大小限制。如果为0则无限制</param>public static void GetImageFromBrowser(string objName, string methodName, int maxSizeMB = 0){GetFileFromBrowser(objName, methodName, IMAGE_FILE_TYPE, maxSizeMB);}/// <summary>/// 从浏览器中获取多个图片文件/// </summary>/// <param name="objName">Unity对象名称</param>/// <param name="methodName">Unity回调方法名称</param>/// <param name="maxSizeMB">文件大小限制。如果为0则无限制</param>public static void GetImagesFromBrowser(string objName, string methodName, int maxSizeMB = 0){GetFilesFromBrowser(objName, methodName, IMAGE_FILE_TYPE, maxSizeMB);}/// <summary>/// 从浏览器中获取视频文件/// </summary>/// <param name="objName">Unity对象名称</param>/// <param name="methodName">Unity回调方法名称</param>/// <param name="maxSizeMB">文件大小限制。如果为0则无限制</param>public static void GetVideoFromBrowser(string objName, string methodName, int maxSizeMB = 0){GetFileFromBrowser(objName, methodName, VIDEO_FILE_TYPE, maxSizeMB);}/// <summary>/// 从浏览器中获取任意类型的文件/// </summary>/// <param name="objName">Unity对象名称</param>/// <param name="methodName">Unity回调方法名称</param>/// <param name="fileType">文件类型</param>/// <param name="maxSizeMB">文件大小限制。如果为0则无限制</param>public static void GetFileFromBrowser(string objName, string methodName, string fileType, int maxSizeMB = 0){
#if UNITY_WEBGL && !UNITY_EDITORgetFileFromBrowser(objName, methodName, fileType, false, maxSizeMB);
#elseUnityEngine.Debug.LogError("only implemented for WebGL platform.");
#endif}/// <summary>/// 从浏览器中获取多个任意类型的文件/// </summary>/// <param name="objName">Unity对象名称</param>/// <param name="methodName">Unity回调方法名称</param>/// <param name="fileType">文件类型</param>/// <param name="maxSizeMB">文件大小限制。如果为0则无限制</param>public static void GetFilesFromBrowser(string objName, string methodName, string fileType, int maxSizeMB = 0){
#if UNITY_WEBGL && !UNITY_EDITORgetFileFromBrowser(objName, methodName, fileType, true, maxSizeMB);
#elseUnityEngine.Debug.LogError("only implemented for WebGL platform.");
#endif}}
}

使用:调用WebFilePicker里提供的方法,回调时返回json字符串,反序列化为FileResult即可拿到原始数据。
注意:mime_type => type
在这里插入图片描述
效果:
在这里插入图片描述

http://www.dtcms.com/wzjs/397195.html

相关文章:

  • 火车头wordpress接口厦门seo网络推广
  • app开发企业seo的定义是什么
  • 阿里巴巴上做网站防疫测温健康码核验一体机
  • 用excel可以做网站知乎推广公司
  • 自己做网站都需要什么重庆seo小z博客
  • 建设外贸独立网站网络推广平台软件app
  • vk网站做婚介嵌入式培训
  • 兰州网站建设索王道下拉网站公司网站建设
  • 网站网络的可用性怎么营销一个产品
  • 成都手机建站深圳百度seo整站
  • php做网站不兼容ie8电商平台的推广及运营思路
  • web服务器的作用搜索引擎seo推广
  • 网站建设 ur建站360免费建站系统
  • 北京网站建设哪家设计好怎么创造自己的网站
  • 湖南 中小企业 网站建设seo网络营销
  • 做金馆长网站网站什么叫优化关键词
  • 最炫的网站制作网页的软件有哪些
  • 专业制作网站 地摊网站怎么开发
  • 山西运城网站建设百度广告销售
  • 网站开发程序都有什么流量平台排名
  • 美国网站空间百度一下你就知道百度官网
  • 自己怎么建个网站网站域名查询系统
  • 网站可以做多少优化关键词seo网站建设公司
  • 安徽建筑大学城市建设学院网站关键词排名查询工具有哪些
  • 网站建设硬件预算新浪网今日乌鲁木齐新闻
  • 党风廉政建设社会评价工作网站深圳网络优化seo
  • 做手机网站需要多少钱灰色行业推广
  • 珠宝wordpress主题外贸网站如何推广优化
  • 台州网站开发公司优化百度seo
  • 唐山建设网站公司信息流优化师面试常见问题