【发布时间】:2012-08-04 17:44:44
【问题描述】:
我正在尝试将 .db 文件转换为二进制文件,以便可以将其流式传输到 Web 服务器。我对 C# 很陌生。我已经在网上查看了代码 sn-ps,但我不确定下面的代码是否让我走上了正确的轨道。读取数据后如何写入数据? BinaryReader 是否会自动打开并读取整个文件,以便我可以将其以二进制格式写出来?
class Program
{
static void Main(string[] args)
{
using (FileStream fs = new FileStream("output.bin", FileMode.Create))
{
using (BinaryWriter bw = new BinaryWriter(fs))
{
long totalBytes = new System.IO.FileInfo("input.db").Length;
byte[] buffer = null;
BinaryReader binReader = new BinaryReader(File.Open("input.db", FileMode.Open));
}
}
}
}
编辑:流式传输数据库的代码:
[WebGet(UriTemplate = "GetDatabase/{databaseName}")]
public Stream GetDatabase(string databaseName)
{
string fileName = "\\\\computer\\" + databaseName + ".db";
if (File.Exists(fileName))
{
FileStream stream = File.OpenRead(fileName);
if (WebOperationContext.Current != null)
{
WebOperationContext.Current.OutgoingResponse.ContentType = "binary/.bin";
}
return stream;
}
return null;
}
当我调用我的服务器时,我什么也得不到。当我对图像/.png 的内容类型使用相同类型的方法时,它工作正常。
【问题讨论】:
-
转换为二进制是什么意思?
input.db的格式是什么? -
@Audrey .db 是我可以在 Sqlite Manager 中打开的格式。 sqlite 的数据库还有其他格式吗?我对这个领域很陌生。谢谢!
-
您能解释一下您的最终目标是什么吗? SQLite 数据库本身就是二进制的。
-
@Audrey 我的最终目标是将 sqlite 数据库本身从服务器流式传输到设备。我添加了上面的代码。
标签: c#