我正在尝试读取来自使用Angular 6中的Web服务的服务器文件的扩展名。
我能够使用myFile.png
方法和filename.split('.').pop();
方法读取文件filename.slice((filename.lastIndexOf(".") - 1 >>> 0) + 2);
的扩展名。
但是我的问题是来自服务器的文件链接的长度非常长,并且它是可下载的链接,因此我们可以从该链接下载实际文件。
在上面的链接中,我想读取文件(?)
之前的扩展名。并且操作员(?)
在链接中只出现一次。这样我就可以确定文件的扩展名恰好位于(?)
运算符之前。
任何人都可以使用Angular 6帮助获取文件扩展名。
答案 0 :(得分:0)
您可以使用正则表达式。如:viewContent\/\w+.([\w\d]+)
以下是如何使用正则表达式的示例:
const regex = /viewContent\/\w+.([\w\d]+)/gm;
const str = `http://myserver.data.com/data/service/auth/yt.content.ContentHttp/viewContent/myfile.png?u8&HttpOperationItem=yt.content.ApplicationData%3A342376&ofn=myfile.png&ContentHolder=yt.flow.forum.data%3A342370&forceDownload=true`;
regex.exec(str)) !== null
答案 1 :(得分:0)
正如您所说,?
只会出现一次,因此可以用?
拆分,然后选择第一个元素,然后再次用.
拆分并获取最后一个元素。
filename.split('?')[0].split('.').pop();