C# IE和word中的传输文件安全问题

C# IE和word中的传输文件安全问题,c#,internet-explorer,ms-word,response.transmitfile,C#,Internet Explorer,Ms Word,Response.transmitfile,我正在尝试将文件(word文档)从服务器传输到客户端 我用这个: Response.TransmitFile(path); Response.End(); 在IE中,当我单击下载弹出窗口的“打开”按钮时,一切都正常,word将打开我的文档 问题是,当我单击word中的“保存”按钮时,它会弹出一个安全/连接弹出窗口。我必须为mysite.com提供用户名/密码,这是正常行为,因为Word以不同的方式处理通过浏览器打开的文件-它尝试验证文件是否“可访问WebDAV”,并使用一些MS特定的扩展名来执

我正在尝试将文件(word文档)从服务器传输到客户端

我用这个:

Response.TransmitFile(path);
Response.End();
在IE中,当我单击下载弹出窗口的“打开”按钮时,一切都正常,word将打开我的文档


问题是,当我单击word中的“保存”按钮时,它会弹出一个安全/连接弹出窗口。我必须为mysite.com提供用户名/密码,这是正常行为,因为Word以不同的方式处理通过浏览器打开的文件-它尝试验证文件是否“可访问WebDAV”,并使用一些MS特定的扩展名来执行此操作。。。这反过来不会使用您当前的浏览器会话,但会尝试/需要建立一个新的会话,从而导致Word向您询问凭据

如果您只想在本地下载,您可以使用
内容配置
标题-这样Word将其视为本地文件,并尝试在“Word保存按钮按下”时将其保存在本地

如果你真的想把它保存回你的网站,它会变得有点棘手。。。虽然在IIS上运行时,您可能能够结合IIS内置的WebDAV功能实现某些功能

编辑-根据评论:


有关如何使用
content-disposition
http标头的信息,请参见示例

是否可以改用BinaryWrite?您的ContentType使用的是什么?不,我无法使用二进制写入,因为我不希望我的文件位于内存中。我不希望将其保存在本地,我将查找内容配置thanks@GregM我添加了一个链接,描述如何使用
内容配置
标题。。。既然你在我的问题上帮了我这么多忙,也许你可以帮我:现在当我打开单词时,它会保存在local/temp文件夹中,有没有办法改变它,谢谢@GregM很抱歉,但这不是HTML/JS中可以更改的-这是浏览器本身实现“打开”下载的方式。。。您必须在浏览器对话框中选择“保存”,然后选择位置,然后从那里打开它。。。唯一可以更改的另一个选项是实现ActiveX或类似控件