如何从DotNetFiddle沙箱下载生成的二进制文件?
从DotNetFiddle沙箱下载生成的二进制文件
方法1:控制台项目 - 输出Base64编码内容
如果你的代码是控制台项目,直接把生成的二进制文件内容转换成Base64字符串打印到控制台,之后复制该字符串转成本地文件:
// 假设已生成二进制字节数组fileBytes string base64Content = Convert.ToBase64String(fileBytes); Console.WriteLine(base64Content);
复制控制台输出的Base64内容后,本地用以下代码(或工具)转回二进制文件:
string copiedBase64 = "复制的Base64内容"; byte[] fileBytes = Convert.FromBase64String(copiedBase64); File.WriteAllBytes("本地目标文件名.exe", fileBytes);
方法2:Web项目 - 触发浏览器下载
如果是ASP.NET类项目,直接在代码中返回文件结果,让浏览器自动触发下载:
using Microsoft.AspNetCore.Mvc; public class DownloadController : Controller { public IActionResult GetBinaryFile() { // 替换为你生成二进制文件的逻辑 byte[] binaryData = GenerateYourBinaryContent(); // 指定MIME类型和下载文件名,可根据文件类型调整 return File(binaryData, "application/octet-stream", "output.bin"); } private byte[] GenerateYourBinaryContent() { // 这里写生成二进制文件的代码 return new byte[] { /* 你的二进制数据 */ }; } }
运行后访问对应路由(如/Download/GetBinaryFile),浏览器会自动弹出下载提示。
注意事项
- DotNetFiddle沙箱限制了对本地文件系统的直接访问,生成的文件必须读入内存后再处理,无法直接读取临时目录的文件。
- 避免生成过大文件,Base64编码会增加内容体积,控制台输出可能因长度限制被截断,Web项目也存在传输大小限制。
内容的提问来源于stack exchange,提问作者robert5722
相关产品推荐
相关产品推荐

