Office URI 方案忽略 Content-Disposition

Office URI Scheme ignores Content-Disposition

当我使用 Office URI Scheme 打开一个 excel 文件时 ms-excel:nft|u|https://link-to-file.com/very%20Unreadable%20File%20Identifier.xlsx?useThisFileName=file%20Name.xlsx

在响应中指定 content-disposition Content-Disposition: attachment; filename="file%20Name.xlsx"; filename*=UTF-8''file%20Name.xlsx

Excel 打开 link 并创建一个名为 very Unreadable File Identifier.xlsx.

的文件

但是当我在任何浏览器中打开 https://link-to-file.com/very%20Unreadable%20File%20Identifier.xlsx?useThisFileName=file%20Name.xlsx 时,它都会以名称 file Name.xlsx

保存它

有什么方法可以使 Office URI 方案遵守 content-disposition header 或告诉 Office URI 中文件的名称?

(这里是 Office 的当前 MSFT 员工。在拥有此方案的团队中)

Office 不支持 URI 方案方案中的内容处置。略读维基百科和 RFC,它看起来像是 1995 年处理 MIME 的正常事情,并在 1999 年提到 HTTP,并在 2011 年变得更加正式(具有对 Office 客户群至关重要的全球化支持)。 RFC 6266 还表示它不是 HTTP/1.1 的一部分。我不确切知道这个 URI 方案是什么时候出现的,但应该是在 1994 年到 2002 年之间,但那早于我加入 Microsoft 和我现在的团队。我可能遗漏了很多历史,在被指出这个问题后我只是浏览了 RFC,试图猜测为什么不支持它。

再加上Office拥有的第一方服务器并没有这个场景,所以当时的开发者可能根本就没有考虑到这一点。 (注意 3xx 重定向不能作为解决方法,因为在这种情况下 afaik 也不接受。)

这是一个很好的功能请求。它会产生一些向后兼容性问题,因为服务器不知道现代 Office 客户端是否要打开 link 或者它是否是旧客户端。 (或者如果使用了第三方 Office 客户端实现。)所以这让我有些犹豫是否将它放在我团队待办事项列表的首位。但这为服务端实现者(尤其是自动生成内容的实现者)提供的效用是显而易见的。所以考虑一下您的功能请求,但我不能保证它会得到实施。我的团队将寻求更多反馈,说明在该优先级中需要此功能。