无法使用DocX.Load从URL加载文件

时间:2017-08-09 08:13:12

标签: c# .net console-application novacode-docx

这段代码可以很好地处理本地文件,但是当我使用Novacode的DocX库从URL引用fileName时会出错。请提供一些方法来解决这个问题。 谢谢。

        try
        {
            string fileName = "http://api.92logics.com/myfile.docx";
            DocX doc = DocX.Load(filePath);
            int TotalLists = doc.Lists.Count;
        }
        catch (Exception ex)
        {
            string ErrorMessage = ex.Message;
        }

1 个答案:

答案 0 :(得分:1)

使用流参数找到解决方案 它正在使用Url生成错误,但是当我尝试使用DocX.Load的第二个参数时,发现它正在使用Stream来使用远程文件。

以下是代码,供其他寻求此解决方案的人参考。

Stream streamObject = GetStreamFromUrl(filePath);
DocX doc = DocX.Load(streamObject);

private static Stream GetStreamFromUrl(string url)
{
    byte[] imageData = null;
    using (var wc = new WebClient())
    {
        imageData = wc.DownloadData(url);
    }
    return new MemoryStream(imageData);
}