我有以下问题。
我正在通过IE浏览器打开Office DOCX文件
Content-Disposition: inline; filename="file.docx"
一切正确。文件正确显示在IE框架中,这里没有问题。
问题是,该文件看起来不像只读模式。用户可以在此文件中进行更改,然后单击“保存”按钮(我不确定“保存”按钮是否在此处执行任何操作)。因此,用户认为,当他进行一些更改并单击“保存”按钮时,这些更改将存储在服务器上。 (或至少会要求另存为文件)
问题1:是否可以将通过content-disposition inline打开的单词文件设置为只读?也许某些注册表设置或IE设置之类的东西?
问题2:在本地打开此文件? (我希望当word打开此文件时,它存储在磁盘上的某个位置。也许我弄错了)
问题3:通过内容处置内联打开此Word文件时,我是否可以至少隐藏工具栏?
问题1:是否可以通过以下方式设置打开的Word文件内容配置内联为只读?也许一些注册表设置或IE设置或其他内容?
找不到使用内容配置内联将Word文件设置为只读的方法。但是,如果您想将文档一词设为只读,则可以参考以下步骤:
在打开的框中,输入您将要记住的密码,然后再次输入密码进行确认。
密码是可选的。但是,如果您不添加密码,则任何人都可以单击Stop Protection
并编辑文档。更多详细信息,请检查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(); } }
当我单击按钮时,将弹出此窗口:
如果单击打开选项,该文件将不会自动保存,似乎可以编辑word文档,但是当我们要保存它时,它将在本地创建一个新的word文档,而不会修改原始Word文档。因此,不用担心。
如果要在本地保存文件,请单击“保存”或“另存为”选项。
之后,我们可以使用Office Word来查看Word文档。
问题3:打开此Word文件时,我是否可以至少隐藏工具栏通过内联的内容处置?
形成您的屏幕快照,您似乎也在使用Office word来查看Word文档,因此我们无法隐藏工具栏。但是,如果我们将word文档设为只读,则工具栏是这样的(大多数功能不可用):
[如果您只想在网页上显示单词文档,建议您参考this article,它将使用Microsoft Office Interop库并读取文档内容并将其显示在网页上。