【Azure 环境】存储在Azure上的文件,使用IE/Edge时自动打开的问题,如何变为下载而非自动打开
问题描述
存储,作为云服务最重要的一部分。当需要从云存储中下载文件时,时常面临一些格式的文件被浏览器自动打开而非下载,那如何来解决这个问题呢?
在Azure中,存储的服务有以下方式:
- Azure Blob:适用于文本和二进制数据的可大规模缩放的对象存储。 还包括通过 Data Lake Storage Gen2 支持大数据分析。
- Azure 文件:适用于云或本地部署的托管文件共享。
- Azure 队列:用于在应用程序组件之间进行可靠的消息传送的消息存储。
- Azure 表:一种 NoSQL 存储,适合用作结构化数据的无架构存储。
- Azure 磁盘:Azure VM 的块级存储卷。
多数情况中,会使用Blob来作为文件存储。所以此处以Blob为例来讨论如何解决文件下载而非打开的问题
问题原因
当通过Azure的门户,代码,及Azure Storage Explorer工具进行上传的文件,如文件为word文档,压缩文件,通过URL是可以直接进行下载的,但是TXT文件格式通过URL下载时会被直接打开,是因为文件类型为txt上传后,Content-type是text/plain,这种格式会被浏览器直接解析,不会被以文件形式下载。
解决方案
通过修改blob的属性来达到下载的目的。由于门户无法修改,所以需要使用storage explorer来操作(下载地址: https://azure.microsoft.com/zh-cn/features/storage-explorer/)
- 更改文件的ContentType为 application/octet-stream
- 更改文件的ContentDisposition为 attachment
参考资料:
核心 Azure 存储服务简介: https://docs.azure.cn/zh-cn/storage/common/storage-introduction?toc=%2fstorage%2fblobs%2ftoc.json
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?