我想将 zip 文件解码为 base64 字符串。文件可能达到 100 MB,并出现 OutOfMemory 异常并重新启动 Visual Studio。我的编码代码:
public static string EncodeToBase64(string zipPath)
{
using (FileStream fs = new FileStream(zipPath, FileMode.Open, FileAccess.Read))
{
byte[] filebytes = new byte[fs.Length];
fs.Read(filebytes, 0, Convert.ToInt32(fs.Length));
return Convert.ToBase64String(filebytes);
}
}
Run Code Online (Sandbox Code Playgroud)
我可以做什么来解决它?
fileNameMaskI需要通过filename掩码从目录加载文件,如果filename以"表1"开头工作正常,但如果目录包含任何文件:"TestTable 1 someValue.xlsx"或"Test Table 1 someValue.xlsx"我的掩码不起作用.
如果我将掩码更改为"^(表1).*\.xlsx $" - Directory.GetFiles返回所有带有"表1"的文件,但我只需要返回文件名从"表1"开始的文件.
My test code:
var fileNameMask = "(Table 1).*\\.xlsx";
string path = @"c:\Temp\";
Regex searchPattern = new Regex(fileNameMask);
string[] files = Directory.GetFiles(path).Where(f => searchPattern.IsMatch(f)).ToArray();
Run Code Online (Sandbox Code Playgroud)