【问题标题】:Asp .net core how to display RTF document file in page view cshtmlAsp .net core如何在页面视图cshtml中显示RTF文档文件
【发布时间】:2017-03-04 22:41:51
【问题描述】:

我需要一些帮助。

我想建立一个在线考试的Web应用程序,所以将问题文件以.rtf形式存储在数据库中,然后当考试进行时,我们作为参与者可以通过页面中的按钮列表看到问题。

如何将任何 .RTF 文件文档(来自我的数据库)显示/显示到页面视图 (.cshtml)?

public class Exam_Question
        {
            ....
            public byte[] Question_File { get; set; }
        }

我已将文件存储在数据库中。

然后在控制器中调用模型。

public async Task<IActionResult> Details(int? id)
{
     var exam_Question = await _context.Question.SingleOrDefaultAsync(m => m.ID == id);
     return View(exam_Question);
}

然后在页面视图中我确实尝试了这个。

<iframe src="data:@Model.Question_File; base64, @Convert.ToBase64String(Model.Question_File)"></iframe>

结果如下图:IFrame tag with base64 file

我希望至少以与 Word App 中相同的粗体、大小、段落、等式等格式显示。

【问题讨论】:

    标签: asp.net-mvc razor


    【解决方案1】:

    我认为一种选择是在服务器端将 RTF 转换为 HTML,然后进行渲染。

    您可以使用以下付费图书馆

    SautinSoft

    或者构建您自己的 RTF 到 HTML 转换器。这是 CodeProject 的链接,它提供了非常详细的细分

    CodeProject

    抱歉,我暂时想不出更简单的解决方案

    【讨论】:

    • 感谢您的回答。我认为如果我将转换后的 rtf 文件作为 html 存储在数据库中,然后将其加载到页面视图中会更容易。顺便说一句,这个答案对我有帮助,我会尝试我现在​​想通了。
    • 如果您只需要文本内容,您可以通过 Regex 去除某些模式来获得不错的内容呈现
    猜你喜欢
    • 1970-01-01
    • 2011-01-04
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多