我已经根据模板创建了一个word文档。
现在我想获得这个新word文档的base64字符串。
我找到了一些关于获取内存流然后将其转换为base64的内容,但我真的不明白它是如何工作的。
是否有意在<span class="dt">
<p><select>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<b>:</b></p><p>
<select>
<option>a</option>
<option>b</option>
<option>c</option>
</select>
<b>:</b></p><p>
<select>
<option>x</option>
<option>y</option>
<option>z</option>
</select> </p>
</span>
转换WordprocessingDocument doc
?
由于
答案 0 :(得分:0)
最简单的方法是
byte[] bytes= System.IO.File.ReadAllBytes(sFullFileName);
string sBase64Bytes = System.Convert.ToBase64String(bytes);
你不必使用内存流来加载字节并转换为base 64.但是如果你想更新内存中的某些内容并在内存中获得更新的base64,你可以试试这个:
byte[] bytes = System.Convert.FromBase64String(sBase64Data);
using (MemoryStream ms = new MemoryStream(bytes, true))
{
ms.Write(bytes, 0, bytes.Length);
using (WordprocessingDocument doc = WordprocessingDocument.Open(ms,true))
{
XmlDocument xCusDoc = OpenXmlHelper.GetCustomXmlDocument(doc);
sLayoutName = xCusDoc.DocumentElement.Attributes["name"].Value.ToString();
using (MemoryStream msw= new MemoryStream())
{
ms.WriteTo(msw);
bytes = msw.GetBuffer();
}
}//end using (WordprocessingDocument doc
}//end using (MemoryStream ms
如果您想将其保存到物理文件,则可以写入字节。
System.IO.File.WriteAllBytes(sFileName, bytes);