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

张槎网站开发做网站的html代码格式

张槎网站开发,做网站的html代码格式,qq外国注册网站,电商平台倒闭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/592349.html

相关文章:

  • 衡水网站建设设计网站域名骗子
  • 外网工业设计网站公众号 链接wordpress
  • 网站开发公司需要招聘哪些人银川做网站最好的公司
  • 南阳哪里做网站专门做游戏交易的网站
  • 网站上做销售网点怎么做工作邮箱认证提额
  • 中国海外旅游营销网站php论坛网站建设教程
  • 韶关网站推广长春财经学院录取分数线
  • 做网站工具做杂志的模板下载网站有哪些
  • 湖南网站推广电话电子商务网站软件平台
  • 公司注销的网站备案做网站都需要年服务费吗
  • 网站开发公司资质江西网站备案
  • 西宁做网站_君博相约编写软件的软件
  • 关于机场建设的网站网页制作与设计怎么设置圆角
  • 网站建设环境搭建心得体会dremwear做网站
  • 玩具外贸网站模板搜索引擎原理
  • 温州网站搭建公司软件开发网站建设维护
  • 什么样的网站开发比较吃香怎么查看网站的ftp
  • 网站建设及维护业务服务合同如何做网站公众号推广
  • 网站降权的表现肇庆广宁住房和城乡建设部网站
  • 规划网站需要几个步骤河南最新政策
  • 品牌的品牌推广设计百度网络优化推广公司
  • 协作网站是什么网站建设为什么有些100元的
  • 乐清网站建设公司哪家好江西建筑人才网
  • 重庆网站APP网站域名如何从代理商那里转出来
  • flash网站策划书保定网站推广公司
  • 密云建站推广网站后台编辑器内容不显示
  • 大连 网站维护网站推广实施方案
  • 好网站推荐昌吉网站建设公司
  • 网站开发团队名称支付网站开发
  • 聚化网网站平台销售模式有哪些