问题描述

存储,作为云服务最重要的一部分。当需要从云存储中下载文件时,时常面临一些格式的文件被浏览器自动打开而非下载,那如何来解决这个问题呢?

在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/)

  • 更改文件的ContentTypeapplication/octet-stream
  • 更改文件的ContentDisposition为 attachment

参考资料:

代码修改的方式可见https://docs.azure.cn/zh-cn/storage/blobs/storage-blob-properties-metadata?tabs=dotnet11#set-and-retrieve-properties

核心 Azure 存储服务简介: https://docs.azure.cn/zh-cn/storage/common/storage-introduction?toc=%2fstorage%2fblobs%2ftoc.json

【Azure 环境】存储在Azure上的文件,使用IE/Edge时自动打开的问题,如何变为下载而非自动打开的更多相关文章

  1. 【Azure 环境】在Azure虚拟机(经典) 的资源中,使用SDK导出VM列表的办法

    Azure,  在2008年10月的Microsoft专业开发人员大会(PDC)上宣布,当时使用内部项目代号"Project Red Dog",并于2010年2月正式发布为Wind ...

  2. 【Azure 环境】【Azure Developer】使用Python代码获取Azure 中的资源的Metrics定义及数据

    问题描述 使用Python SDK来获取Azure上的各种资源的Metrics的名称以及Metrics Data的示例 问题解答 通过 azure-monitor-query ,可以创建一个 metr ...

  3. 【Azure 环境】基于Azure搭建企业级内部站点, 配置私有域名访问的详细教程 (含演示动画)

    前言 在Azure中,可以通过App Service快速部署,构建自定义站点(PaaS服务).默认情况下,这些站点被访问URL都是面向公网,通过公网进行解析.为了最好的安全保障,是否可以有一种功能实现 ...

  4. 在Win7 环境使用Java API 上传文件到 Hadoop2.x HDFS 问题统计

    问题一: org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security .AccessControlExc ...

  5. MacOS上传文件到windows ftp时链接文件不见了

    最近打包遇到了一个问题,打包完MAC的sdk包后,得到的是一个framework的文件夹,我们需要将这个framework传到ftp服务器上,另外,还要把这个文件夹下的Release文件夹里的文件替换 ...

  6. 部署Azure环境Web应用程序不能直接访问JSON文件解决方案

    问题: 部署在Azure环境Web应用程序的JSON文件,直接通过浏览器或Web应用访问出现 404 的错误信息. 以下通过Firfox浏览器直接访问JSON文件返回的提示错误信息: “HTML 文档 ...

  7. 【Azure Developer】通过Azure提供的Azue Java JDK 查询虚拟机的CPU使用率和内存使用率

    问题描述 在Azure上创建虚拟机(VM)后,在门户上可以查看监控指标(Metrics),如CPU Usage,Memory,Disk I/O等.那如何通过Java 代码获取到这些指标呢? 关于VM ...

  8. 使用XWAF框架(2)——上传文件

    XWAF提供了上传文件的HttpFileUploader工具类,具备强大的多文件上传.文件类型过滤.文件大小限制.存储目录设置.文件名称更改等功能,简化了Web应用开发的编程工作. 它能同时解析表单参 ...

  9. django中处理文件上传文件

    1 template模版文件uploadfile.html 特别注意的是,只有当request方法是POST,且发送request的<form>有属性enctype="multi ...

随机推荐

  1. hadoop上传文件失败解决办法

    hadoop上传文件到web端hdfs显示hadoop could only be replicated to 0 nodes instead of 1解决办法 错误状态:在hadoop-2.7.2目 ...

  2. 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现

    074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...

  3. C++中cout.setf()和cout.precision()

    这两个就是格式控制的~ostream成员函数里面的,也可以用输出流操作符来控制,都一样的~附给你一些看看~ 其中cout.setf跟setiosflags一样的,cout.precision跟setp ...

  4. 【题解】Product

    \(\color{brown}{Link}\) \(\text{Solution:}\) \(Question:\) \(\prod_{i=1}^n \prod_{j=1}^n \frac{lcm(i ...

  5. farbic-sdk-java 学习部署

    准备工作 1.fabric基础网络环境 2.环境准备(jdk环境.maven环境) 3.启动fabric测试网络 4.在idea中测试java-sdk 1.fabric环境准备 1.fabric基础环 ...

  6. 扩展、接管MVC都不会,还会用Spring Boot?

    持续原创输出,点击上方蓝字关注我 目录 前言 Spring Boot 版本 如何扩展MVC? 如何自定义一个拦截器? 什么都不配置为什么依然能运行MVC相关的功能? 如何全面接管MVC?[不推荐] 为 ...

  7. 异步编程新方式async/await

    一.前言 实际上对async/await并不是很陌生,早在阮大大的ES6教程里面就接触到了,但是一直处于理解并不熟练使用的状态,于是决定重新学习并且总结一下,写了这篇博文.如果文中有错误的地方还请各位 ...

  8. docker设置http访问

    1 编辑配置文件    vim /etc/docker/daemon.json { "registry-mirrors": ["https://a4fyjv0u.mirr ...

  9. from lxml import etree报错

    使用的是python3.7的环境,解析数据要用xpath,系统是mac pip install lxml一分钟后...下载成功 开始写代码, from lxml import etree挂了-,lxm ...

  10. Excel中外部数据链接无法删除的解决方法【转】

    [摘要] 当Excel中公式引用了外部数据,每次打开时,总是自动弹出自动更新链接的对话框.如何找到这些链接?有没有办法实现断开原有链接,而保持数值不变? 有客户反应,当Excel无法链接到外部数据后, ...