内容处置嵌入式docx只读

时间:2019-11-08 10:48:53

标签: html internet-explorer ms-word content-disposition

我有以下问题。

我正在通过IE浏览器打开Office DOCX文件

Content-Disposition: inline; filename="file.docx"

一切正确。文件已正确显示在IE框架中,这里没有问题。

File shown in IE frame

问题是,该文件看起来不像只读模式。用户可以在此文件中进行更改,然后单击“保存”按钮(我不确定“保存”按钮是否在此处执行任何操作)。 因此,用户认为,当他进行一些更改并单击“保存”按钮时,这些更改将存储在服务器上。 (或至少会询问另存为文件)

问题1:是否可以将通过 content-disposition inline 打开的单词文件设置为只读?也许某些注册表设置或IE设置之类的东西?

问题2::此文件在本地打开的位置? (我希望当word打开此文件时,它会存储在磁盘上的某个位置。也许我弄错了)

问题3:通过content-disposition inline打开此Word文件时,我是否可以至少隐藏工具栏?

1 个答案:

答案 0 :(得分:0)

  

问题1:是否可以通过以下方式设置打开的Word文件   内容配置内联为只读?也许一些注册表设置   或IE设置之类的东西?

找不到使用content-disposition内联将word文件设置为只读的方法。但是,如果要使文档文档一词为只读,则可以参考以下步骤:

  1. 使用Office Word打开原始Word文档,
  2. 点击查看> 限制编辑 g
  3. 编辑限制下,选中在文档中仅允许这种类型的编辑,并确保列表中显示无更改(只读) >。
  4. 点击是,开始执行保护
  5. 在打开的框中,输入您将要记住的密码,然后再次输入密码进行确认。

    密码是可选的。但是,如果您不添加密码,则任何人都可以单击停止保护并编辑文档。

    更多详细信息,请检查Make a document read only

  

问题2:此文件在本地打开? (我希望   Word打开此文件,它存储在磁盘上的某个位置。也许我是   错误)

我已经使用以下代码创建了一个示例:

    protected void Button1_Click(object sender, EventArgs e)
    {
        string localCopy = @"D:\Downloads\Document.docx";
        System.IO.FileInfo file = new System.IO.FileInfo(localCopy);
        if (file.Exists == true)
        {
            Response.Clear();
            Response.AppendHeader("Content-Type", "application/msword");
            Response.AddHeader("content-disposition", "inline; filename=" + file.Name);
            Response.AddHeader("Content-Length", file.Length.ToString());
            Response.ContentType = "application/vnd.ms-word.document.12";
            Response.WriteFile(file.FullName);
            Response.End();
            Response.Flush();
        }
    }

当我单击按钮时,它将弹出此窗口:

enter image description here

如果单击打开选项,该文件将不会自动保存,似乎可以编辑word文档,但是当我们要保存它时,它将在本地创建一个新的word文档,但不会修改原始Word文档。所以,不用担心。

如果要在本地保存文件,请单击“保存”或“另存为”选项。

之后,我们可以使用Office Word来查看Word文档。

  

问题3:打开此Word文件时,我是否可以至少隐藏工具栏   通过内容配置内联?

在屏幕截图中,您似乎也在使用Office word来查看Word文档,因此我们无法隐藏工具栏。但是,如果我们将word文档设为只读,则工具栏将如下所示(大多数功能不可用):

enter image description here

如果您只想在网页上显示单词文档,建议您参考this article,它将使用Microsoft Office Interop库并读取文档内容并将其显示在网页上。