- 55
- 0
http的下载静态文件地址,比如图片地址,网上找的不好用,特别是后缀名有大小写,文件名有中英文混合的,解析不对。我自己直接根据“/”分割然后截取最后一个分组来获取文件名,不知道这种方式是不是有漏洞?有谁能给个好用的方法?
- 共 0 条
- 全部回答
-
森屿暮歌 普通会员 1楼
静态资源文件(如CSS、JavaScript、图片、视频等)的地址获取文件名可以使用以下几种方法:
- 文件路径获取:
- 使用绝对路径:将静态资源文件放在与当前文件路径相对应的目录中,例如:
javascript var path = require('path'); var cssFile = path.join(__dirname, 'styles.css'); console.log(cssFile); // 输出:styles.css - 使用相对路径:在HTML文件中使用
<link>标签引用静态资源文件,例如:html <link rel="stylesheet" href="styles.css"> -
使用URL:在JavaScript中使用
URL.createObjectURL()方法创建一个URL对象,然后使用该URL对象的href属性获取静态资源文件的URL,例如:javascript var cssUrl = URL.createObjectURL(new Blob([styles.css], { type: 'text/css' })); console.log(cssUrl); // 输出:<base href="https://example.com/styles.css"></base> -
文件名和路径的组合:
- 使用相对路径和文件名的组合,例如:
javascript var path = require('path'); var cssFile = path.join(__dirname, 'styles.css'); var filename = path.basename(cssFile, '.css'); console.log(filename); // 输出:styles.css -
使用绝对路径和文件名的组合,例如:
html <link rel="stylesheet" href="styles.css"> var filename = path.basename(cssFile, '.css'); console.log(filename); // 输出:styles.css -
使用HTML5的
<base>标签: - 使用HTML5的
<base>标签来创建一个基础URL,然后使用<link>标签引用基础URL的静态资源文件,例如:html <base href="https://example.com/styles.css"></base> <link rel="stylesheet" href="styles.css"> - 如果静态资源文件是一个文件夹,可以使用
<base>标签来指定根目录,例如:html <base href="https://example.com/" /> <link rel="stylesheet" href="styles.css"> - 如果静态资源文件是一个目录,可以使用
<base>标签来指定目录,例如:html <base href="https://example.com/" /> <link rel="stylesheet" href="./styles.css"> -
如果静态资源文件是一个子目录,可以使用
<base>标签来指定子目录,例如:html <base href="https://example.com/" /> <link rel="stylesheet" href="./styles.css" /> -
使用浏览器插件或库:
- 使用
file-loader插件或webpack或browserify等库来处理静态资源文件,这些库通常会自动解析和生成静态资源文件的URL和文件名。javascript // 使用file-loader插件 const fileLoader = require('file-loader'); const css = fileLoader.from('styles.css'); console.log(css.url); // 输出:<base href="https://example.com/styles.css"></base> console.log(css.filename); // 输出:styles.css - 使用
webpack或browserify等库处理静态资源文件,这些库通常会自动解析和生成静态资源文件的URL和文件名,例如:javascript // 使用webpack const webpack = require('webpack'); const path = require('path'); const css = path.join(__dirname, 'styles.css'); const extractCSS = new webpack.optimize.extract({ fallback: 'style-loader', loader: 'css-loader', options: { sourceMap: true, outputSourceMap: true, }, }); const cssLoader = extractCSS.loader; const cssUrl = cssLoader.from(css); console.log(cssUrl.url); // 输出:https://example.com/styles.css console.log(cssUrl.filename); // 输出:styles.css -
使用
browserify等库处理静态资源文件,这些库通常会自动解析和生成静态资源文件的URL和文件名,例如:javascript // 使用browserify const browserify = require('browserify'); const path = require('path'); const css = path.join(__dirname, 'styles.css'); const extractCSS = browserify.extract({ // 设置输出的CSS文件名和URL,例如: alias: { 'styles.css': path.resolve(__dirname, './styles.css'), }, }); const cssLoader = extractCSS.loader; const cssUrl = cssLoader.from(css); console.log(cssUrl.url); // 输出:https://example.com/styles.css console.log(cssUrl.filename); // 输出:styles.css -
使用第三方库:
- 使用
file-saver库来处理静态资源文件,该库可以将文件保存为JSON或CSV文件,其中包含文件名和URL。javascript // 使用file-saver库 const fileSaver = require('file-saver'); const css = require('styles.css'); const cssUrl = css.url; fileSaver.writeFileSync('styles.css', JSON.stringify({ url: cssUrl })); console.log('Styles saved as styles.css');
以上就是获取静态资源文件的文件名和URL的方法,具体的使用方式取决于使用的开发环境和使用的工具。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
