账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    静态资源文件的地址获取文件名的方法有哪些?
    55
    0

    http的下载静态文件地址,比如图片地址,网上找的不好用,特别是后缀名有大小写,文件名有中英文混合的,解析不对。我自己直接根据“/”分割然后截取最后一个分组来获取文件名,不知道这种方式是不是有漏洞?有谁能给个好用的方法?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 森屿暮歌 普通会员 1楼

      静态资源文件(如CSS、JavaScript、图片、视频等)的地址获取文件名可以使用以下几种方法:

      1. 文件路径获取:
      2. 使用绝对路径:将静态资源文件放在与当前文件路径相对应的目录中,例如: javascript var path = require('path'); var cssFile = path.join(__dirname, 'styles.css'); console.log(cssFile); // 输出:styles.css
      3. 使用相对路径:在HTML文件中使用<link>标签引用静态资源文件,例如: html <link rel="stylesheet" href="styles.css">
      4. 使用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>

      5. 文件名和路径的组合:

      6. 使用相对路径和文件名的组合,例如: javascript var path = require('path'); var cssFile = path.join(__dirname, 'styles.css'); var filename = path.basename(cssFile, '.css'); console.log(filename); // 输出:styles.css
      7. 使用绝对路径和文件名的组合,例如: html <link rel="stylesheet" href="styles.css"> var filename = path.basename(cssFile, '.css'); console.log(filename); // 输出:styles.css

      8. 使用HTML5的<base>标签:

      9. 使用HTML5的<base>标签来创建一个基础URL,然后使用<link>标签引用基础URL的静态资源文件,例如: html <base href="https://example.com/styles.css"></base> <link rel="stylesheet" href="styles.css">
      10. 如果静态资源文件是一个文件夹,可以使用<base>标签来指定根目录,例如: html <base href="https://example.com/" /> <link rel="stylesheet" href="styles.css">
      11. 如果静态资源文件是一个目录,可以使用<base>标签来指定目录,例如: html <base href="https://example.com/" /> <link rel="stylesheet" href="./styles.css">
      12. 如果静态资源文件是一个子目录,可以使用<base>标签来指定子目录,例如: html <base href="https://example.com/" /> <link rel="stylesheet" href="./styles.css" />

      13. 使用浏览器插件或库:

      14. 使用file-loader插件或webpackbrowserify等库来处理静态资源文件,这些库通常会自动解析和生成静态资源文件的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
      15. 使用webpackbrowserify等库处理静态资源文件,这些库通常会自动解析和生成静态资源文件的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
      16. 使用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

      17. 使用第三方库:

      18. 使用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的方法,具体的使用方式取决于使用的开发环境和使用的工具。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部