微信小程序判断url的文件格式

本文介绍两种通过URL判断文件是否为图片的方法。方法一:通过查找URL中最后一个‘.’并获取其后的后缀名来判断;方法二:使用‘.’分割URL并获取最后一个元素作为后缀名进行判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有两种思路

第一种思路

例: http://www.example.com:8888/group1/M00/00/85/rBITVV_Qh2mAdwB0cSE513.jpg
1.查找URL最后一个“.”的索引
2.截取这个索引后面的所有字符(这里就是后缀名)
3.拿到后缀名去匹配判断是否是某某格式
在这里插入图片描述

// 文件是否为图片 (方法一)
var isImg = function (url) {
  //获取最后一个.的位置
  var index = url.lastIndexOf(".")
  //获取后缀
  var ext = url.substring(index + 1) // wxs不支持substr
  // 进行判断
  return ['png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(ext.toLowerCase()) !== -1
}

第二种思路

1.将URL用“.”分割成数组
2.查找数组最后一项(最后一项就是后缀名)
3.拿到后缀名去判断
在这里插入图片描述

// 方法二
var isImg2 = function (url) {
  //后缀获取
  let suffix = '';
  // 获取类型结果
  let result = '';
  // 分割url的“.”
  const flieArr = url.split('.');
  // 获取分割后数组最后一项就是后缀
  suffix = flieArr[flieArr.length - 1];
  if (suffix != "") {
    suffix = suffix.toLocaleLowerCase();
    // 图片格式
    const imglist = ['png', 'jpg', 'jpeg', 'bmp', 'gif']
    // 进行图片匹配
    result = imglist.find(function (item) {
      return item === suffix
    })
    return result
  }
}
### 微信小程序 URL 的使用方法及格式 微信小程序支持通过特定的 URL 格式实现页面间的跳转以及外部链接唤起小程序的功能。以下是关于微信小程序 URL 使用方法及其格式的具体说明: #### 1. 小程序内部页面跳转 在微信小程序中,可以通过 `wx.navigateTo` 或其他导航 API 实现页面之间的跳传。其基本语法如下所示[^1]: ```javascript wx.navigateTo({ url: '/pages/targetPage/targetPage?key=value', // 跳转的目标路径和参数 }); ``` 其中,`url` 参数表示目标页面的路径,可以附加查询字符串用于传递数据。 #### 2. 唤起小程序的通用 URL 方案 为了使用户能够从浏览器或其他应用访问到指定的小程序页面,开发者可以利用微信提供的 **Universal Links** 或者 **Scheme** 链接来唤起小程序。具体方式分为两种情况: ##### (1) Scheme 地址方案 对于 Android 和 iOS 平台,均需构建一个标准的 scheme 地址形式。例如: ``` weixin://dl/business/?t=xxxxxx&redirect_url=https%3A%2F%2Fexample.com%2Fpath ``` 此地址中的 `access_token` 可能需要动态拼接到 URL 后面以便验证身份[^2]。需要注意的是,在某些情况下(尤其是安卓设备),可能还需要借助中间 H5 页面完成最终跳转逻辑。 ##### (2) Universal Link 方案 相比传统的 scheme 地址,universal link 提供了一种更加优雅的方式让移动操作系统自动判断如何处理点击事件——如果用户的手机已安装对应版本的应用,则会优先启动该应用;反之则加载网页版内容。配置 universal links 主要涉及以下几个方面的工作流程[^2]: - 注册域名关联文件; - 修改后台服务器响应头信息; - 更新客户端代码适配新功能。 #### 3. 注意事项 当尝试通过外链进入某个具体的业务场景时,请务必确认当前环境是否满足条件限制,并妥善处理可能出现的各种异常状况。比如网络请求失败、缺少必要权限等问题都需要提前规划好解决方案。 ```javascript // 示例:检测系统平台并执行不同操作 if (isIOS()) { window.location.href = 'weixin://...'; // 直接调用iOS native app } else { redirectToH5ThenJump(); // 对于Android先转向至临时HTML页再重定向回原生app } function isIOS() {} function redirectToH5ThenJump(){} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值