shitou's blog 
Home About Feed | MIX BOY 塌客

Tags "file column"

28
Jul

file_column上传中文文件名的问题 by shitou

0

rails的文件上传插件file_column上传的文件名是中文时将会失败,在网上baidu了好长时间,按照里面的做法修改了好几次
都还是没有成功,后来自己花了点时间研究了下,终于搞定了,修改如下:

修改file_column.rb文件中最后一个方法为

  def self.sanitize_filename(filename)
    filename = File.basename(filename.gsub("\\", "/")) # work-around for IE #将windows系统路径的\替换成/
    #filename.gsub!(/[^a-zA-Z0-9\.\-\+_]/,"_") #将文件名中的除数字大小写字母.-+_之外的符号替换成_
    #filename = "_#{filename}" if filename =~ /^\.+$/ #如果文件名以.(本地路径)开头则在文件名前加上_
    #filename = "unnamed" if filename.size == 0 #如果文件名的长度=0,则赋予默认的名字unnamed
    time = Time.now.to_i
    filename = time.to_s + '.' + File.basename(filename).split('.').last
    filename
  end


通过上面我的注释可以看到不能上传中文文件名的原因应该在于:

    #filename.gsub!(/[^a-zA-Z0-9\.\-\+_]/,"_") #将文件名中的除数字大小写字母.-+_之外的符号替换成_

因为中文的编码问题,所以这里是出错的原因,在一般情况下可以把这行注释掉就可以了,因为后面我们把文件名给完全替换成数字了
所以可以把紧接后面文件名操作的两行也注释掉,
现在就行了

Tags: rails,file column

2008-07-28 17:52:45, 509 reviews

send to mailbox

Your email:

Tags

U-ka saegusa IN db command Mai Kuraki Norah Jones log iPhoneException ACG Mac Safari objective-c CouchDB LVS AJAX debian 推荐 AMQP google mail bug gettext Erlang 北京 iptables 架构 tips mysql backup function 我看 postfix 监控 SEO cache Etag memcache thread 进程 线程 无锡 yield file column mixboy xml rss gems ruby shitou shell lighttpd 安全 csrf 公司 nginx linux 模块 apache webserver 朋友 大学 生活 尼古拉斯凯奇 movie 文件同步 笑笑 歌词 auto complete plugin rails music ubuntu blog

Category

  • iPhone[17]
  • Erlang[4]
  • google[8]
  • 生活[38]
  • 音乐[11]
  • 电影[11]
  • linux[20]
  • web server[6]
  • mail server[3]
  • cluster[1]
  • system manage[5]
  • ruby[18]
  • ruby on rails[27]
  • 开源[3]

Episode

  • iPhoneException
  • shell
  • thread
  • memcache

Recent Comments

  • now I see it.. kat's stories forced to str...
  • "One had to cram all this stuff into one's...
  • Robert schumann, and johannes brahms always ins...
  • по моему мнению: спасибо.. знакомства для ...
  • 已经有CouchDB的Ruby接口了, 看这里 http://github.com/lang...
  • 期待你的资料啊 大哥你得快点来啊
  • oreilly出书了,在线阅读 http://books.couchdb.org/relax/
  • 穿越来同草!
  • 一直以来,对待工作,你的责任心很强;对待生活,你的要求却很简单;对待自己,你的关注却不够啊。晚...
  • 过两天温度就应该又上去了

Popular Posts

  • MySQL Innodb备份
  • 准备开始学习Erlang了(恶狼, 二郎..)
  • Lighttpd配置参数
  • iPhone上的HelloWorld终于跑起来了
  • Etag和Expire

Recommended Posts

  • Mai Kuraki -永远より ながく
  • U-ka saegusa IN db Final Best
  • Heaven Can Wait - Charlotte Gainsbou
  • Ruby遍历MemCached的key
  • Norah Jones - The fall
  • 请记得仰望梦想的姿势
  • Shell: 统计MySQL InnoDB表的大小
  • Rails Benchmark
  • 发送异常到邮箱
  • I Miss Nobody
  • Music4u, Vol. 1
  • my macbook
  • Mai Kuraki-Beautiful
  • 10首最伤情英文歌曲精选
  • Mai Kuraki - PUZZLE/Revive

Friends' blogs

  • levy
  • sphance
  • andreas

Login

   注册

留言 查看留言

留言

   取消

留言 查看留言


Statistics

  • 访问次数: 55353
  • 今天访问: 794
  • 日志: 172
  • 评论: 108
  • 音乐: 9
  • 用户: 158


 

just DO NOT support IE

close