c# - File.WriteAllBytes 执行而不创建文件
问题描述
我需要使用 Xamarin Android 将 Mono Runtime 中的 MYSQL Db 提取到使用.NET Web API Controller Action的服务器目录中。尽管代码运行良好,但有一些 Android 设备尽管控制器操作会返回 Success() ,但在服务器目录中却找不到 MySQL 数据库。我必须从设备设置中重置应用程序数据才能使其再次工作。任何人都可以帮助我了解控制器操作如何正确执行而不在该目录中创建任何文件?
我尝试更改代码以发送 null 而不是 byte[] 但服务器返回空指针异常
我尝试更改代码以发送仅包含单个字节的字节 [],并且它仍然在服务器目录中创建了适当的文件。
下面是提取 MySQL 数据库(单声道运行时)的代码:
try
{
var filestream = new FileStream(path, FileMode.Open);
var m = new MemoryStream();
filestream.CopyTo(m);
filestream.Close();
return m.ToArray();
}
catch (Exception e)
{
Console.WriteLine("Something went wrong: " + e.InnerException?.Message);
}
return null;
这是处理提取文件的代码。(.NET Web API 控制器)
try
{
var folder = Directory.CreateDirectory(@"E:\SQLiteBackup");
var filename = "DB_" + AppContext.UserName + "_" + DateTime.Now.ToString("yyyyMMdd");
var path = $"{folder.FullName}\\{filename}";
File.WriteAllBytes(path, backupBytes);
return Success();
}
catch (Exception ex)
{
return Fail(ex, "Something went wrong");
}
解决方案
推荐阅读
- r - 使用 R 将列值替换为 group by 并在另一列上设置条件
- amazon-web-services - 在 EC2 上运行 OpenVPN 和 DNS 泄漏检查
- r - 为什么在 R 中使用 {litsearchr} 开发学术搜索策略时,我的“y”被更改为“i”?
- python-3.x - 需要帮助了解 Python 中带有变量的 For 循环
- laravel - 在 Laravel 的模型中过滤来自查询构建器的数组列表结果
- reactjs - 变量在返回语句中一直显示未定义
- java - 如何保存上次访问的活动并在开始时启动它
- docker - ESP8266:构建 nodemcu 固件时出现“设备上没有剩余空间”错误
- c - 调用 InitCommonControlsEx() 的正确位置是什么?
- python - 获取最长的单词并删除每个字符串后的 \n?