图片链接或pdf链接通过浏览器打开时,有时可以直接预览,有时却是下载,为什么?

news2025/1/16 20:49:53

在前端开发中,有时候需要对一些文件链接进行特殊处理,比如对于一些图片链接或者PDF链接,有时我们需要通过浏览器打开进行预览,有时又不希望通过浏览器进行打开,而是希望能够直接下载到本地。但现实效果却往往跟我们相反,我们希望浏览器打开时,他却直接下载,我们希望浏览器下载时,他反而又在新的标签页直接打开文件。

其实造成这种情况,和响应头里 content-disposition 的属性值有关, content-disposition 是 MIME 协议的扩展 ,其作用就是用来处理一些文件的显示问题, content-disposition的值为inline时,表示它可以显示在网页内,或作为网页,此时浏览器会自动进行预览, content-disposition的值为attachment时,表示它应该下载,大多数浏览器呈现“另存为”对话框,如果filename存在值,也会预填入文件名。

在这里插入图片描述

了解了相关原理,就很好实现自己想要的方式了。如果只是针对个人电脑,可以通过下载一些浏览器插件,通过更改响应头 content-disposition的值,进而实现自己想要的效果,但是如果是发布到生产,供其他用户使用,就需要要求后端开发按照自己的需求配置相关文件响应头中content-disposition的值,因为不可能要求每个用户都去安装相应的插件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/12303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

硅麦驱动开发及调试(pdm>>I2S>>pcm)

pdm 协议 PDM接口只有两根信号线: PDM_CLK 时钟信号。 PDM_DATA 数据信号。 I2S协议 数据发送规格 I2S在BCLK的下降沿发送数据(发送),在上升沿进行数据采样(接收)。每次是先发送最高位,最后…

Hadoop概述

Hadoop概述 Hadoop介绍 狭义上Hadoop值的是Apache的一款开源软件。 用java语言实现开源软件框架 允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理 Hadoop核心组件 Hadoop HDFS(分布式文件存储管理系统):解决海量数据存储 Hadoop YARN(集群资源管理…

3-2、python内置数据类型(列表和元组)

文章目录序列列表列表的创建列表的基本特性连接操作符和重复操作符成员操作符(in和not in)索引切片for循环列表的常用方法增加修改(通过索引和切片重新赋值)查看删除其他操作元组(和列表相比,不能增删改元素…

30分钟带你精通Git使用

一、 版本控制工具 1.1. 什么是版本控制系统? 版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且…

[附源码]SSM计算机毕业设计班级风采网站JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

TIA博途中累计流量的两种计算方法示例

TIA博途中累计流量的两种计算方法示例 如下图所示,首先,我们要了解累计流量的含义: 即t1至t2时刻,对瞬时流量求定积分,由上图可知,t1至t2的定积分,即蓝色部分的面积,那么直接求这个面积是有难度的,我们只能用近似的方法来求取, 如下图所示,把该部分面积分割成一个个…

最简单的git图解(git stash)

大家平时开发过程中肯定遇到过这样的情况:代码写了一半,但是需要紧急修改一个bug,还是在当前项目中修改,这时怎么办呢?把写了一半的代码进行提交?可能编译还通不过,或是启动不了,要是…

Java项目:SSH学生学籍管理系统及教务管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本系统包含管理员、教师、学生三种角色; 管理员角色包含以下功能: 管理员登录,学科管理,班级管理,教师管理,学籍信息管理,课表管理…

外贸软件助力国际贸易企业业财共享数字化转型升级

外贸企业数字化转型新机遇丨汇信外贸软件助力业财一体共享升级 随着国际化的进程不断加速,国际贸易市场的发展,使得外贸企业的业务范围不断扩大,海量的资源信息在世界各地不断产生。为了应对国际贸易信息传递的及时性,关于财务信…

[MySQL]复杂查询(进阶)

专栏简介 :MySql数据库从入门到进阶. 题目来源:leetcode,牛客,剑指offer. 创作目标:记录学习MySql学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 1.新增 2. 聚合查询 2.1 聚合函数 3. 分组查询…

Web UI 自动化测试:如何使用隐私模式进行测试

来啦老铁! 这两天有个任务需要在桌面端 UI 自动化中使用隐私模式进行测试,之前没有用过,且在调研的时候还是小小花了点时间各种查资料的,因此做一下记录; 学习路径 1、Chrome 浏览器配置; 2、Edge 浏览…

电脑换cpu要重装系统吗

​cpu是一台电脑的控制以及运算核心,有十分重要的作用,不少小伙伴会遇到更换cpu的问题,所以小伙伴会提前了解换cpu要重装系统吗或者换cpu后bios如何设置的这类问题,接下来小编就为大家带来了详细的介绍,感兴趣的用户可…

(七)Bean的实例化方式

文章目录环境Bean的实例化方式通过构造方法实例化通过简单工厂模式实例化通过工厂方法模式实例化通过FactoryBean接口实例化BeanFactory和FactoryBean的区别BeanFactoryFactoryBean工厂Bean的使用:注入自定义Date上一篇:(六)Sprin…

【免杀前置课——Windows编程】十二、线程同步——一文讲懂什么是线程同步、原子操作函数、临界区、互斥体(激发态与非激发态区别)

线程同步线程同步多线程运行同一操作对象问题解决方案A:原子操作函数解决方案B:临界区解决方案C:互斥体激发态与非激发态互斥体优点:线程同步 多线程运行同一操作对象问题 #include<iostream> #include<Windows.h>LONG g_count 0; DWORD WINAPI myThreadProc1(_…

C语言工具——Visual Studio 的安装

很多新手朋友们&#xff0c;反应使用 IE 浏览器下载 Visual Studio 下载不下来&#xff0c;此时我们可以在 IE 浏览器上先装一个谷歌浏览器&#xff1a; https://chrom.lkcyl.cn/ . 然后打开谷歌&#xff0c;输入 VS 2019 的下载地址&#xff1a;https://learn.microsoft.com/…

深入浅出带你了解PHAR反序列化

前情提要 为了丰富自己是知识体系&#xff08;为了日更薅羊毛&#xff09;&#xff0c;我最近频繁翻阅MDN的文档&#xff0c;果然MDN文档常看常新。 最近翻到CSS部分&#xff0c;然后打开了伪类这一栏&#xff0c;好家伙&#xff0c;快60个了&#xff08;包括实验中的&#x…

【EC200U】 SIM卡使用

EC200U SIM卡SIM卡是什么SIM卡分类Quecpython SIM库调用获取sim卡的状态获取IMSI获取ICCID运行测试我们物联网要用到SIM卡&#xff0c;这张卡是4G应用的基础&#xff0c;许多功能都需要用到SIM卡。买此类板子别忘了买SIM卡哦。 SIM卡是什么 SIM卡是(Subscriber Identity Modul…

影刀连接Mysql数据库

这里写自定义目录标题官方教程下载安装Mysql-connector配置数据源填写影刀的配置的向导官方教程 官方影刀下载mysql连接教程 https://www.winrobot360.com/yddoc/language/zh-cn/%E6%8C%87%E4%BB%A4%E6%96%87%E6%A1%A3/%E5%85%B6%E4%BB%96/%E6%95%B0%E6%8D%AE%E5%BA%93/%E8%BF…

初步探索GraalVM--云原生时代JVM黑科技

1 云原生时代Java语言的困境 经过多年的演进&#xff0c;Java语言的功能和性能都在不断的发展和提高&#xff0c;诸如即时编译器、垃圾回收器等系统都能体现Java语言的优秀&#xff0c;但是想要享受这些功能带来的提升都需要一段时间的运行来达到最佳性能&#xff0c;总的来说…

linux笔记(5):按照东山派的官方教程编译buildroot(东山哪吒,D1-H)踩坑记录

文章目录1.编译流程1.1获取sdk源码1.2 补充&#xff1a;下载riscv64-glibc-gcc-thead_20200702.tar.xz1.3 补充&#xff1a;安装mtool工具1.4 安装必要依赖包1.5 编译sdcard 最小系统镜像1.6 烧录最小镜像系统到tf(SD)卡1.6.1 安装烧录工具1.6.2 格式化SD卡1.6.3 烧录镜像到sd卡…