【问题标题】:Web player not playing files with non-ASCII characters网络播放器不播放非 ASCII 字符的文件
【发布时间】:2011-10-02 00:50:29
【问题描述】:

我们的应用允许用户上传视频。

我注意到,只要有人上传文件名中带有“é”的视频,该视频就无法播放。

例如“fooébar.flv”。问题是。我应该用这些字符保存文件名还是应该过滤掉那些字符?否则,我是否应该为我的播放器找到一种方法来播放非 ASCII 字符的文件名?

我正在使用JWPlayer,顺便播放我们网站上的媒体。

编辑

我关注了http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/16002/embedding-with-international-characters,这似乎适用于:

encodeURIComponent(encodeURI("path_to_file"))

【问题讨论】:

  • 你使用的是什么版本的 Ruby?
  • 如果您登录到服务器并尝试在本地播放其中一个文件会发生什么?另外,您可以在构建 JWPlayer 播放的 url 的位置发布代码吗?如果可能,也可以使用 HTML 源代码。
  • @RussC 见我上面的编辑。该文件在本地服务器上播放。抱歉,无法发布网址,因为这是商业产品
  • 你不需要发布网址;但是当 JWPlayer 链接到具有非 ascii 字符的文件时,您可以发布您的应用程序生成的 HTML 吗?你自己可能会看到错误,我怀疑 Ruby 没有正确编码文件名,所以你得到 href=fooAEbar.flv 或其他东西而不是 href=fooébar.flv。
  • @RussC http://foobar.com/uploads/users/1/songs/1/fooébar.flv

标签: ruby-on-rails-3 jwplayer


【解决方案1】:

根据 cmets 中的操作请求:

我会让他们用非 ascii 字符保存,你不想让你的用户更难上传。

【讨论】:

    【解决方案2】:

    我们是这样解决的:

    file_path = <%= "http://localhost/#{CGI.escape( URI.escape( 'File name with extra charaters like & áéű' ) )}" %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      相关资源
      最近更新 更多