云开发为开发者提供了很多方便,一次使用云开发上传图片到云数据库过程中,发现了处理图片名称的需求。

之前我都是使用 JS 中的 splice() 方法处理图片字符串的,但有时后数值设置不当会造成比较严重的后果,比如图片后缀名缺失得到空文件。

为了解决“时间戳+后缀名”的需求,我后来改用了 JS 中的 split() 方法处理,主要思路如下:

  • 首先,根据时间函数获取时间戳
  • 其次,采用split(".")将图片原始字符串按照“.”分隔开
  • 最后,获取数组最后一个元素即为后缀名,将时间戳和后缀名拼接完成

总览在图片中↓↓↓
在这里插入图片描述
下方有注释↓↓↓

// 定义原始图片路径(字符串格式)
var strName = "http://tmp/arBtm56T07xUfce8159c549f792703a7514edd74a0f6.jpg"

// 分割I——按字符分割
strName.split("")
(59) ["h", "t", "t", "p", ":", "/", "/", "t", "m", "p", "/", "a", "r", "B", "t", "m", "5", "6", "T", "0", "7", "x", "U", "f", "c", "e", "8", "1", "5", "9", "c", "5", "4", "9", "f", "7", "9", "2", "7", "0", "3", "a", "7", "5", "1", "4", "e", "d", "d", "7", "4", "a", "0", "f", "6", ".", "j", "p", "g"]

// 分割II——按空格分割
strName.split(" ")
["http://tmp/arBtm56T07xUfce8159c549f792703a7514edd74a0f6.jpg"]

// 分割III——按小数点分割
strName.split(".")
(2) ["http://tmp/arBtm56T07xUfce8159c549f792703a7514edd74a0f6", "jpg"]

// JS不支持Python中获取最后一个元素的语法
strName.split(".")[-1]
undefined

// 使用args[args.length - 1]获取JS中数组最后一个元素
strName.split(".")[strName.split(".").length - 1]
"jpg"

// 拼接
console.log("1615790086189" + "." + strName.split(".")[strName.split(".").length - 1])
1615790086189.jpg

在这里插入图片描述
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐