using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; using SFB; public class FileToolkit { public static ExtensionFilter extensionFilter = new ExtensionFilter("图像/视频文件", "wmv", "mp4", "avi", "mov", "WMV", "MP4", "AVI", "MOV", "jpg", "png", "JPG", "PNG", "jpeg", "JPEG"); public static List GetExtensionFilters() { List extensionFilters = new List(); extensionFilters.Add(extensionFilter); return extensionFilters; } /// /// 读取本地数据并保存到指定位置 /// /// /// public static void ReadLocalFileDataAndSaveToTargetPath(string fliePath, string targetFilePath) { byte[] buffer = GetLoaclFileData(fliePath); FileLocalSave(targetFilePath,buffer); } /// /// 获取本地文件数据 /// /// /// public static byte[] GetLoaclFileData(string filePath) { using (FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate)) { byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, buffer.Length); fs.Close(); return buffer; } } /// /// 文件本地保存 /// public static void FileLocalSave(string savePath,byte[] data) { Debug.Log(data.Length); using (FileStream fs = new FileStream(savePath,FileMode.OpenOrCreate,FileAccess.ReadWrite)) { fs.Write(data, 0, data.Length); fs.Flush(); } } /// /// 删除本地文件 /// public static void DeleteLocalFile(string filePath) { if (File.Exists(filePath)) File.Delete(filePath); } /// /// 本地是否包含文件 /// public static bool LoaclIsContainFile(string filePath) { return File.Exists(filePath); } /// /// 通过WinForm获取上传文件路径 /// /// /// public static string[] GetAssetPathsByWinForm(List extensions) { string[] paths = StandaloneFileBrowser.OpenFilePanel(" 上传文件", "", extensions.ToArray(), true); return paths; } }