小编cha*_*add的帖子

在C#.NET中查看docx文件

我需要创建C#.NET解决方案直接从数据库查看.docx文件,而无需在硬盘上写入.什么是最可行的方法?

一种选择是将docx文件转换为.mht格式,并将其作为blob类型保存在数据库中.但我找不到从数据库中直接查看它的方法.

另一种方法是将docx文件转换为.jpg文件,可以使用.NET中的图片框控件直接从数据库中查看.采取的方法是首先将docx转换为.mdi,然后转换为.tiff格式(使用Microsoft Image Writer)并转换为jpeg.但这涉及多个IO操作,这降低了解决方案的效率和可靠性.

如果有人知道如何改进上述选项或任何新想法,我们将非常感激.提前致谢 :)

.net c# blob docx mhtml

5
推荐指数
1
解决办法
1575
查看次数

在C++中序列化对象并在mysql中存储为blob类型

我使用mysql/C++连接器连接到mysql数据库.我有一些复杂的数据结构,所以我需要序列化这些并保存在数据库中.

我试过以下的东西.

vector<int> vectorTest(10,100);
istream *blob = NULL;
ostringstream os;
int size_data = sizeof(vector<int>);

blob = new istringstream((char*)&vectorTest, istringstream::in | istringstream::binary);
string qry = "INSERT INTO vector(id,object) VALUES (?,?)";

prep_stmt = con->prepareStatement(qry);

prep_stmt->setInt(1,1);
prep_stmt->setBlob(2,blob);
prep_stmt->execute();
Run Code Online (Sandbox Code Playgroud)

我刚刚尝试了一个小例子.但是,矢量对象未被保存.

或者,我可以使用以下方法.

ostringstream os;
int size_data = sizeof(vector<int>);
os.write((char*)&vectorTest, size_data);
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何将输出流重定向到输入流,因为setBlob()方法需要一个istream作为输入参数.

我可以知道如何使这些例子有效吗?如果我的方法不正确,任何人都可以提供代码示例或改进给定的代码段吗?非常感谢您的即时回复.

谢谢

c++ mysql blob

3
推荐指数
1
解决办法
4708
查看次数

如何从C#windows应用程序项目调用C++ DLL

我使用Visual Studio中的类库项目在C++中创建了一个dll.我需要从C#应用程序中调用dll中的方法.

我知道有2个approches.一种是将dll项目引用添加到C#项目或使用DllExport来导出方法.但是当我尝试两种方式时,在运行时调用dll方法时总是会出现以下错误.

TestClient.exe中发生未处理的"System.BadImageFormatException"类型异常附加信息:尝试加载格式不正确的程序.(HRESULT异常:0x8007000B)

我可以知道如何避免这个问题吗?

提前致谢!

c# exception dllimport visual-c++

3
推荐指数
1
解决办法
3820
查看次数

标签 统计

blob ×2

c# ×2

.net ×1

c++ ×1

dllimport ×1

docx ×1

exception ×1

mhtml ×1

mysql ×1

visual-c++ ×1