Outlook Online如何下载附件?

光荣

我试图了解从电子邮件下载多个附件时Office365 Outlook Online中的“全部下载”按钮如何工作。

全部下载按钮

该按钮是“按钮”类型。它似乎不是表单的一部分。它有一些“点击”事件监听器(显然是使用React的),但是我无法理解这些事件是否导致下载触发。

<button type="button" class="ms-Button ms-Button--action ms-Button--command _36CbeMUul160_BaOc004Od _25PDIRwPTbbCvgI4wMWgWF root-133" data-is-focusable="true">
  <span class="ms-Button-flexContainer flexContainer-78" data-automationid="splitbuttonprimary">
    <span class="ms-Button-textContainer textContainer-79">
      <span class="ms-Button-label label-49" id="id__875">Download all</span>
    </span>
  </span>
</button>

当我单击它时,Chrome根本不会在“网络”标签中显示网络事件。Firefox将其显示为GET请求,并且看起来不像XmlHttpRequest(没有Origin标头等):

请求:

URL:https://outlook.office365.com/owa//service.svc/s/GetAllAttachmentsAsZip?id=...&X-OWA-CANARY=...
Request Method:GET
Remote Address:40.97.221.114:443
Status Code:
200
Version:HTTP/1.1
Referrer Policy:no-referrer

Host: outlook.office365.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
DNT: 1
Connection: keep-alive
Cookie: ...
Upgrade-Insecure-Requests: 1

响应:

HTTP/1.1 200 OK
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: application/zip; authoritative=true;
Content-Encoding: gzip
Expires: Mon, 20 Jan 2020 02:34:12 +0000
Vary: Accept-Encoding
Server: Microsoft-IIS/10.0
request-id: ...
X-CalculatedFETarget: MAXPR0101CU002.internal.outlook.com
X-BackEndHttpStatus: 200
X-FEProxyInfo: MAXPR0101CA0031.INDPRD01.PROD.OUTLOOK.COM
X-CalculatedBETarget: MAXPR01MB2735.INDPRD01.PROD.OUTLOOK.COM
X-BackEndHttpStatus: 200
X-RUM-Validated: 1
X-MailboxGuid: ...
X-Content-Type-Options: nosniff
X-BeSku: WCS5
x-ms-appId: ...
X-OWA-Version: 15.20.2644.27
X-OWA-OWSVersion: V2018_01_18
X-OWA-MinimumSupportedOWSVersion: V2_6
X-Frame-Options: SAMEORIGIN
X-OWA-HttpHandler: true
Content-Disposition: attachment; filename*=UTF-8''subject.zip
X-BackEnd-Begin: 2020-01-21T02:34:12.321
X-BackEnd-End: 2020-01-21T02:34:12.349
X-DiagInfo: MAXPR01MB2735
X-BEServer: MAXPR01MB2735
X-UA-Compatible: IE=EmulateIE7
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Proxy-RoutingCorrectness: 1
X-Proxy-BackendServerStatus: 200
X-FEServer: MAXPR0101CA0031
X-FEServer: BYAPR03CA0003
Date: Tue, 21 Jan 2020 02:34:11 GMT

我无法说出触发该请求的机制是什么:页面导航,XmlHttpRequest,提取?。什么使浏览器将其视为附件?我试图在Fiddler中拦截此响应并将响应头更改为

Content-Type: text/html
Content-Disposition: inline
Content-Length: 5

Hello

但是浏览器仍然将响应下载为文件,而不是内联呈现。这是为什么?

伊卡加诺维奇

这是由动态添加的具有下载属性的锚标记引起的:

<a href="foo.zip" download>Download All</a>

https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/a#download

如果Content-Disposition的文件名与下载的文件名不同,则标题优先。(如果使用Content-Disposition:inline,则Firefox首选标头,而Chrome则选择下载。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用PHP Laravel从Outlook API下载附件?

来自分类Dev

使用Perl从MS Outlook下载附件

来自分类Dev

使用REST API下载Outlook附件吗?

来自分类Dev

如何从Outlook文件夹中的最新邮件中查找和下载附件?

来自分类Dev

如何以编程方式从Outlook保存附件?

来自分类Dev

从Outlook中的特定文件夹下载附件

来自分类Dev

在系统/计算机关闭时从 Outlook 下载附件

来自分类Dev

Outlook:从外部打开附件

来自分类Dev

Outlook 插件附件.savefileas

来自分类Dev

超链接到Outlook附件

来自分类Dev

无法在Outlook中转发附件

来自分类Dev

Mac的Outlook缺少附件提醒

来自分类Dev

Outlook Web Addin,检索附件

来自分类Dev

在Outlook 2010中搜索时如何排除附件内容?

来自分类Dev

如何防止Outlook在AppData中创建附件的副本?

来自分类Dev

Outlook 赎回:如何将 byte[] 数组添加为附件

来自分类Dev

如何在 Outlook VBA 中访问 EmbeddedItem 附件

来自分类Dev

Outlook 使用基于日期、发件人和主题行的 MAPI python 下载附件

来自分类Dev

将Outlook附件从Outlook拖放到WPF数据网格中

来自分类Dev

将Outlook附件从Outlook拖放到WPF数据网格中

来自分类Dev

如何与Outlook 2010并行安装Outlook 2013

来自分类Dev

VBA / Outlook从.eml文件中提取附件

来自分类Dev

使用Python从Outlook 2010获取附件

来自分类Dev

访问Outlook邮件附件的MailItem属性

来自分类Dev

Outlook附件先发送然后移动

来自分类Dev

将XtraReport添加为Outlook中的附件

来自分类Dev

筛选或隐藏Outlook 2010中的多余附件

来自分类Dev

Outlook VBA 2013:自动保存附件

来自分类Dev

Outlook:包括回复的附件(例如转发)