我在保存文件(
*.docx, *.doc, *.pdf
)给一个
Image
[DocId] [int] IDENTITY(1,1) NOT NULL,
[DocDate] [datetime] NOT NULL DEFAULT (getdate()),
[DocName] [varchar](255) NOT NULL DEFAULT (''),
[DocObject] [image] NOT NULL
正在使用C语言中的此代码保存文档#
using (Stream docStream = UploadResume.PostedFile.InputStream)
{
Int32 docSize = (Int32)docStream.Length;
byte[] docBytes = new byte[docSize + 1];
docStream.Read(docBytes, 0, docSize);
SaveDoc(docId, UploadResume.PostedFile.FileName.Trim(), docBytes);
}
SaveDoc是将数据插入表中的过程。为了简洁起见,我删除了保存其他数据字段的代码。
byte[] docBytes = (byte[])(dt.Rows[0]["DocObject"]);
var fileName = dt.Rows[0]["DocName"].ToString();
File.WriteAllBytes(Path.Combine(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Documents\\{DateTime.Now.ToString("yyyyMMdd")}"), $"{fileName}"), docBytes);
我能够将MS-Word文档保存到数据库中,从数据库中检索并成功地将其保存到文件系统中。但是,当我用MS-Word打开文档时,会收到一条错误消息,指示文件已损坏。PDF文件保存和打开没有问题。Microsoft Word文档不是。