js截取图片地址后面的参数和在路径中截取文件名或后缀名

news2024/11/16 19:54:41

在这里插入图片描述

文章目录

  • 前言
  • 截取地址 ?后面的参数
  • 在路径中截取文件名或后缀名
  • 总结


前言

在处理网页上的图片资源或者其他类型的文件资源时,你可能会遇到需要使用这些技巧的情况。以下是一些具体的使用场景:
动态修改图片参数:如果你有一个图片URL,并且想要动态地改变它的查询参数(比如改变图片的尺寸、质量等),你可以使用URLSearchParams来修改URL,并重新加载图片。
文件上传和下载处理:在处理文件上传或下载时,你可能需要获取文件名或文件扩展名来决定如何处理文件。例如,你可能需要根据文件类型来设置不同的处理逻辑或保存路径。
URL重定向:在处理URL重定向时,你可能需要解析URL中的查询参数来决定重定向的目标地址。
构建动态URL:在构建动态网页内容时,你可能需要根据用户的输入或其他条件来生成不同的URL。这时,你可以使用这些技巧来构建包含正确查询参数或路径的URL。
URL解析和日志记录:在分析和记录用户行为或服务器请求时,你可能需要解析URL以获取有用的信息,如查询参数、路径等。
API请求处理:当你发送HTTP请求到某个API时,可能需要添加或修改查询参数。例如,你可能需要传递一些认证信息、分页参数或其他配置选项。
在处理与URL和文件路径相关的任务时,这些技巧都是非常有用的。它们能够帮助你更加灵活地操作URL和文件资源,提升网页或应用的交互性和功能性。

截取地址 ?后面的参数

可以使用JavaScript中的字符串处理函数来截取图片地址后面的参数。

// 原始图片地址
var imageUrl = "https://example.com/image.jpg?param1=value1&param2=value2";
 
// 获取图片地址后面的参数部分(包括"?")
var paramsPart = imageUrl.substring(imageUrl.indexOf("?") + 1);
console.log(paramsPart); // 输出结果为 "param1=value1&param2=value2"
 
// 如果只需要获取特定参数的值,可以进行更详细的处理
function getParamValue(url, paramName) {
    var queryString = url.split('?')[1];
    if (queryString === undefined || !queryString.includes(paramName)) return null;
    
    var pairs = queryString.split('&');
    for (var i = 0; i < pairs.length; i++) {
        var pair = pairs[i].split('=');
        if (pair[0] == paramName) {
            return decodeURIComponent(pair[1]);
        }
    }
}
 
// 调用getParamValue函数获取指定参数的值
var value1 = getParamValue(imageUrl, 'param1');
console.log(value1); // 输出结果为 "value1"
 
var value2 = getParamValue(imageUrl, 'param2');
console.log(value2); // 输出结果为 "value2"

在路径中截取文件名或后缀名

const name = "http://localhost:8000/img/图片.jpg"
 
// '/'所在的最后位置
last = name.lastIndexOf('/') 
// 截取文件名称和后缀
str = name.substring(last+1)                          // 输出:图片.jpg
// 截取路径字符串
url = name.substring(0,last)                          // 输出:http://localhost:8000/img
// 截取文件名
document= str.substring(0, str.lastIndexOf("."))      // 输出:图片
// 截取后缀
suffix= name.substring(name.lastIndexOf("."))         // 输出:.jpg
// 截取后缀名
suffixName = name.substring(name.lastIndexOf(".")+1)  // 输出:jpg

总结

通过使用 JavaScript 的内置方法和接口,我们可以轻松地截取图片地址后面的参数,以及从路径中提取文件名或文件后缀名。这些技巧在处理 URL 和文件路径时非常有用。
在JavaScript中,处理URL和提取相关信息是一项常见任务。我们可以使用URLSearchParams接口轻松截取图片地址后面的查询参数,通过split()和pop()方法从路径中提取文件名,以及使用split()和slice()组合来截取文件后缀名。这些技巧使我们能够方便地操作URL和文件路径,从而在处理图片和其他资源时更加高效和灵活。

您好,我是肥晨。
欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。

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

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

相关文章

深入理解Linux线程(LWP):概念、结构与实现机制(2)

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;会いたい—Naomile 1:12━━━━━━️&#x1f49f;──────── 4:59 &#x1f504; ◀️ ⏸ ▶️ ☰ &a…

详解Java中的protected修饰的访问权限

前言&#xff1a;在Java中&#xff0c;类成员访问权限修饰词有四类&#xff1a;private&#xff0c;缺省&#xff08;说白了就是空)着)protected 和 public&#xff0c;private&#xff0c;缺省&#xff0c;和 public的访问权限都很好理解&#xff0c;但是protected的访问权限却…

文献速递:帕金森的疾病分享--多模态机器学习预测帕金森病

文献速递&#xff1a;帕金森的疾病分享–多模态机器学习预测帕金森病 Title 题目 Multi-modality machine learning predicting Parkinson’s disease 多模态机器学习预测帕金森病 01 文献速递介绍 对于渐进性神经退行性疾病&#xff0c;早期和准确的诊断是有效开发和使…

Stable Diffusion 模型分享:GalaxyTimeMachines GTM ForYou-Fantasy(幻想)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 作者述&#xff1a;这个“幻想”模型比这个系列的照片模型有更多的风格和颜色。如果推动的…

云渲染的使用:效果图渲染要多久!

随着技术的不断进步&#xff0c;云渲染服务已经成为效果图制作过程中划时代的解决方案。通过该服务&#xff0c;3D艺术家和渲染师现在可以在云端完成资源密集型的渲染任务&#xff0c;这大大节省了本地计算资源。但许多人可能会好奇&#xff0c;使用云渲染服务渲染一张效果图究…

RTE 开源|小红书 REDPlayer 正式发布!快来 get 同款播放器~

本项目由 RTE 开发者社区 x 小红书 联合运营 播放器最初出现在 19 世纪&#xff0c;当时主要用于播放音频&#xff0c;例如通过留声机播放唱片。 随着技术的进步&#xff0c;音频播放器不断改进&#xff0c;品质越来越好&#xff0c;体积也越来越小。到了今天&#xff0c;通过…

投标中excel表格常用功能梳理

投标中excel表格常用功能梳理&#xff1a; 1.投标报价调整报价的办法&#xff1a; 目的调整报价&#xff0c;把“红框”的报价增加30%&#xff0c;50% 增加30%的步骤&#xff1a; 步骤1&#xff1a;选择1.3 复制&#xff08;ctrlc&#xff09; 步骤2&#xff1a;选择性黏贴 …

React之数据绑定以及表单处理

一、表单元素 像<input>、<textarea>、<option>这样的表单元素不同于其他元素&#xff0c;因为他们可以通过用户交互发生变化。这些元素提供的界面使响应用户交互的表单数据处理更加容易 交互属性&#xff0c;用户对一下元素交互时通过onChange回调函数来监听…

SpringBoot底层原理

SpringBoot底层原理 一 配置优先级 1.配置方式 Springboot中支持三种配置方式&#xff0c;分别为&#xff1a; application.propertiesapplication.ymlapplication.yaml 2.配置优先级 当存在多份配置文件时&#xff0c;配置文件会按照它们的优先级生效。 优先级从高到底…

一文带你了解MySQL之B+树索引的原理

前言 学完前面我们讲解了InnoDB数据页的7个组成部分&#xff0c;知道了各个数据页可以组成一个双向链表&#xff0c;而每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表&#xff0c;每个数据页都会为存储在它里边儿的记录生成一个页目录&#xff0c;在通过主键查…

docker mysql主从复制

新建主服务器容器实例3301 mysql 主 3301 docker run -p 3301:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -v /home/mysql/mysql-files:/var/lib/…

什么是前端框架中的数据绑定(data binding)?有哪些类型的数据绑定?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:边框设置)

设置组件边框样式。 说明&#xff1a; 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 border border(value: BorderOptions) 设置边框样式。 卡片能力&#xff1a; 从API version 9开始&#xff0c;该接口支持在ArkTS卡…

怎样选择一家可靠的代理IP服务?

在数字化时代&#xff0c;随着网络安全和数据隐私的日益重要&#xff0c;代理IP服务已经成为个人用户和企业保护网络身份、实现数据加密和访问地理限制内容的重要工具。然而&#xff0c;面对市场上众多的代理IP服务提供商&#xff0c;如何选择一家可靠的代理IP服务提供商也成为…

【JavaScript 漫游】【026】进度事件简记

文章简介 本篇文章为【JavaScript 漫游】专栏第 025 篇文章&#xff0c;简单记录了进度事件的知识点。 进度事件的种类 进度事件用来描述资源加载的进度&#xff0c;主要由 AJAX 请求、<img>、<audio>、<video>、<style>、<link> 等外部资源的…

如何知道当前ubuntu的版本

查看版本&#xff1a; cat /etc/lsb-release 查看内核&#xff1a; uname -a

[AutoSar]BSW_Com07 CAN报文接收流程的函数调用

目录 关键词平台说明一、背景二、顺序总览三、函数说明3.1 Com_RxIndication&#xff08;&#xff09; 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector &#xff0c;芯片厂商TI 英飞凌编程语言C&#xff0c;C编译器HighTec (GCC)…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:布局约束)

通过组件的宽高比和显示优先级约束组件显示效果。 说明&#xff1a; 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 aspectRatio aspectRatio(value: number) 指定当前组件的宽高比。 卡片能力&#xff1a; 从API vers…

本地navicate连接vm虚拟机中的mysql5.7docker容器

一&#xff0c;配置 前提是我已经启动的mysql5.7容器 使用 docker ps -a 查看所有的容器 使用 docker exec -it c4f9 bash 进入mysql命令行&#xff0c;注意这个c4f9是容器唯一id&#xff0c;不用写全连接mysql mysql -uroot -p123456&#xff0c;连接成功后 输入 show datab…

JOSEF约瑟 FHP-33Q/4跳位、合位、电源监视综合控制继电器 凸出式板前接线 0.1-10S

FHP-33系列跳位、合位、电源监视综合控制继电器系列型号&#xff1a;FHP-33A/1跳位、合位、电源监视综合控制继电器&#xff1b;FHP-33A/2跳位、合位、电源监视综合控制继电器&#xff1b;FHP-33A/3跳位、合位、电源监视综合控制继电器&#xff1b;FHP-33A/4跳位、合位、电源监…