我有以下问题。
我正在通过IE浏览器打开Office DOCX文件
Content-Disposition: inline; filename="file.docx"
一切正确。文件已正确显示在IE框架中,这里没有问题。
问题是,该文件看起来不像只读模式。用户可以在此文件中进行更改,然后单击“保存”按钮(我不确定“保存”按钮是否在此处执行任何操作)。 因此,用户认为,当他进行一些更改并单击“保存”按钮时,这些更改将存储在服务器上。 (或至少会询问另存为文件)
问题1:是否可以将通过 content-disposition inline 打开的单词文件设置为只读?也许某些注册表设置或IE设置之类的东西?
问题2::此文件在本地打开的位置? (我希望当word打开此文件时,它会存储在磁盘上的某个位置。也许我弄错了)
问题3:通过content-disposition inline打开此Word文件时,我是否可以至少隐藏工具栏?
答案 0 :(得分:0)
问题1:是否可以通过以下方式设置打开的Word文件 内容配置内联为只读?也许一些注册表设置 或IE设置之类的东西?
找不到使用content-disposition内联将word文件设置为只读的方法。但是,如果要使文档文档一词为只读,则可以参考以下步骤:
在打开的框中,输入您将要记住的密码,然后再次输入密码进行确认。
密码是可选的。但是,如果您不添加密码,则任何人都可以单击停止保护并编辑文档。
更多详细信息,请检查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库并读取文档内容并将其显示在网页上。