我正在尝试使用Syncfusion示例中的以下代码在Xamarin Forms PCL中打开Word文档:
using System.Net;
using System;
using System.IO;
using Syncfusion.DocIO.DLS;
using Syncfusion.DocIO;
public void CreateWordDoc()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://valufy.file.core.windows.net/valufyfiles/ValufyReportWordTemplate.docx");
HttpWebResponse response = await (HttpWebResponse)request.GetResponse(); <----- FIRST ERROR HERE
Stream stream = response.GetResponseStream();
//Converts it to byte array
byte[] buffer = ReadFully(stream, 32768);
//Stores bytes into the memory stream.
MemoryStream ms = new MemoryStream();
ms.Write(buffer, 0, buffer.Length);
ms.Seek(0, SeekOrigin.Begin);
stream.Close();
//Creates a new document.
WordDocument document = new WordDocument();
//Opens the template document from the MemoryStream.
document.Open(ms, FormatType.Doc);
//Saves and closes the document
document.Save("Sample.docx", FormatType.Docx); <---- SECOND ERROR HERE
document.Close();
}
我收到以下错误:
- ErrorCS1061&#39; HttpWebRequest的&#39;不包含&#39; GetResponse&#39;的定义没有扩展方法&#39; GetResponse&#39;接受第一个 类型的参数&#39; HttpWebRequest&#39;可以找到(你错过了吗? 使用指令或程序集 参考)ValufyC:\ Users \用户sreesun \ OneDrive \项目\ 2Valufy \ 2Valufy_2Valufy \数据\ Export.cs20Active
- ErrorCS1503Argument 1:无法转换为&#39; string&#39;到&#39; System.IO.Stream&#39; ValufyC:\ Users \ sreesun \ OneDrive \ Projects \ 2Valufy \ 2Valufy_2Valufy \ Data \ Export.cs48Active
醇>
任何建议都会有所帮助。 GetResponse()方法是HttpWebRequest类的公共方法,我无法弄清楚它为什么会出错。
答案 0 :(得分:1)
错误1:
&#39; HttpWebRequest的&#39;不包含&#39; GetResponse&#39;的定义没有扩展方法&#39; GetResponse&#39;接受类型&#39; HttpWebRequest&#39;的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)
<强>建议:强> DocIO PCL版本不支持GetResponse()。因此,我们建议您使用GetResponseAsync()从HttpWebRequest获取响应。
注意:尝试使用给定的URI string获取响应时,由于URI字符串无效,我们遇到了一些错误。所以请使用正确的URI字符串连续创建Web请求和响应。
我们怀疑此错误与DocIO可移植库无关。
错误2:
参数1:无法转换为&#39; string&#39;到&#39; System.IO.Stream&#39;
<强>建议:强> 在Xamarin平台中,Essential DocIO不提供任何公共API来直接在save方法中指定文件名。这是上述问题的原因(“无法从'string'转换为'System.IO.Stream')
或者,您可以使用“保存”方法和“流”重载来保存Word文档。
请参阅我们的UG documentation,了解有关在Xamarin平台中使用DocIO便携式库加载和保存Word文档的更多信息。