1
私はサインアップ時に各ユーザーのブックマークレットファイルを作成するRailsアプリケーションを構築しています。私はそのファイルをリモートサーバに保存したいので、"Rails upload file to ftp server"に基づいてRubyのNet :: FTPを試しています。Net :: FTPを使用して別のサーバーにファイルをコピーするにはどうすればよいですか?
私はこのコードを試してみました:
require 'net/ftp'
FileUtils.cp('public/ext/files/script.js', 'public/ext/bookmarklets/'+resource.authentication_token)
file = File.open('public/ext/bookmarklets/'+resource.authentication_token, 'a') {|f| f.puts("cb_bookmarklet.init('"+resource.username+"', '"+resource.authentication_token+"', '"+resource.id.to_s+"');$('<link>', {href: '//***.com/bookmarklet/cb.css',rel: 'stylesheet',type: 'text/css'}).appendTo('head');});"); return f }
ftp = Net::FTP.new('www.***.com')
ftp.passive = true
ftp.login(user = '***', psswd = '***')
ftp.storbinary("STOR " + file.original_filename, StringIO.new(file.read), Net::FTP::DEFAULT_BLOCKSIZE)
ftp.quit()
をしかし、私はファイル変数がnilであると、エラーを取得しています。私はここでいくつかのことを間違っているかもしれない。私はRubyとRailsの新機能ですから、どんな助けも歓迎します。
を。本当にありがとう! –
@BonChampionあなたが本当に望むのは、次のとおりです: 'File.open( '...'、 'a'){| file | ... ftp.storbinary( "STOR ..."、ファイル)...} ';具体的には、 'StringIO'オブジェクトがまったく必要であることは確かですか? – Phrogz