嗨 我現在工作的需要上傳的視頻有很多項目,請問導軌具有這個助手可以解決這個問題,如YouTube視頻地址:rails helper給上傳文件一個唯一的名字?
www.youtube.com/watch ?v = KYUhtPV_Lk4
感謝
嗨 我現在工作的需要上傳的視頻有很多項目,請問導軌具有這個助手可以解決這個問題,如YouTube視頻地址:rails helper給上傳文件一個唯一的名字?
www.youtube.com/watch ?v = KYUhtPV_Lk4
感謝
你使用ActiveRecord的文件建模或者是他們只是平面文件的地方?
,如果你有一個像UploadedFile的一個模型< <的ActiveRecord :: Base的每一個文件,你可以只使用模型的ID,或者如果你想有一個字符串,你可以加入鹽一些字符串散列它。
irb(main):021:0> file_id = 1
=> 1
irb(main):022:0> Digest::SHA1.hexdigest('SomeRandomString' + file_id.to_s)
=> "70f5eedc8d4f02fd8f5d4e09ca8925c2f8d6b942"
,如果你只是讓他們在系統上的平面文件,你可以散列它們的路徑+文件名來創建一個唯一的字符串。
irb(main):016:0> Digest::SHA1.hexdigest '/home/bob/somefile.mp4'
=> "204a038eddff90637c529af7003e77d600428271"
您可以隨時添加當前時間的時間戳和一個隨機數以防止愚蠢。
您可以生成一個隨機字符串這樣的,並用它作爲文件名:
Digest::SHA1.hexdigest(Time.now.to_s) # => 800b262b59296b660a4f73e23580809143ed8846
SecureRandom.uuid生成一個隨機v4的UUID(通用唯一標識符)
它不包含有意義的
信息,如MAC地址,時間等。 有關UUID的詳細信息,請參閱RFC 4122的 。
SecureRandom::uuid
您想上傳很多YouTube視頻網址嗎? – tadman 2010-12-20 18:36:07
讓我來解釋一下,我的項目是下載youtube視頻並上傳到我的服務器,成爲youtube從我的國家被禁止 – mko 2010-12-22 07:05:49