草庐IT

JavaScript:写入下载流

全部标签

ruby - 使用 Faraday Ruby gem 下载图像并写入磁盘

使用Faraday时gem为这样的图像点击URL:http_conn=Faraday.newdo|builder|builder.adapterFaraday.default_adapterendresponse=http_conn.get'http://example.tld/image.png'如何将法拉第响应的图像文件写入磁盘?调试response.body属性显示它是二进制数据。非常感谢任何帮助。 最佳答案 为什么不像其他文件一样编写response.body?File.open('image.png','wb'){|fp|

ruby - 从 Cucumber/Capybara 测试中执行 JavaScript

似乎Selenium有一个名为JavascriptExecutor的功能,它可以直接在页面上执行JavaScript。然而,我的Cucumber/Capybara测试似乎没有这样的东西。如何从我的Cucumber测试中执行任意JavaScript? 最佳答案 Capybara有两种执行javascript的方法#execute_script和#evaluate_script。两者都可以在以下位置找到:http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Seleni

ruby - 如何像在 Javascript 中一样在 Ruby 中动态创建对象及其方法?

我最近发现在Ruby中动态创建对象和方法是一件很费力的事情,这可能是因为我有Javascript背景经验。在Javascript中,您可以动态创建对象及其方法,如下所示:functionsomewhere_inside_my_code(){foo={};foo.bar=function(){/**dosomething**/};};如何在Ruby中完成上述语句(与在Javascript中一样简单)? 最佳答案 您可以使用单例方法实现此目的。请注意,您可以对所有对象执行此操作,例如:str="Ilikecookies!"defstr.

ruby-on-rails - 使用 Rails Assets 管道在 JavaScript 文件中编码问题

我正在使用Rails3.1和Assets管道(ruby1.9.2)。在尝试提供具有utf-8编码字符串的javascriptjs.erb文件时出现以下错误invalidbytesequenceinUS-ASCII我在我的environment.rb文件中设置了Encoding.default_external="UTF-8"。我如何让Assets管道以不同的编码提供服务?编辑仅当我在文件外部生成utf-8字符时才会出现该错误(在本例中是通过从数据库查询)。如果我添加,错误就会消失到文件的顶部。我猜这里会进行某种编码猜测,但如果没有那种骇人听闻的解决方案,我该如何避免呢?

ruby-on-rails - 如何在我的 gem 中写入 Rails 记录器

我有一个我写的gem,我在我的Rails应用程序中使用它。我想从我的gem写入railslogger,但显然那里不存在标准railslogger。实现我想做的事情的正确方法是什么? 最佳答案 正如FrederickCheung所说,您应该为您的gem使用命名空间记录器:MyGem.logger。然后将其设置为Railtie中的Rails记录器,以便您的gem在Rails内部和外部都能很好地工作。moduleMyGemclassRailties 关于ruby-on-rails-如何在我的g

ruby-on-rails - 从 HTML 页面中删除所有 JavaScript

我试过使用Sanitizegem清理包含网站HTML的字符串。它只删除了标记,而不是脚本标记内的JavaScript。我可以使用什么从页面中删除JavaScript? 最佳答案 require'open-uri'#includedwithRuby;onlyneededtoloadHTMLfromaURLrequire'nokogiri'#geminstallnokogirireadmoreathttp://nokogiri.orghtml=open('http://stackoverflow.com')#GettheHTMLsour

ruby - 下载前获取文件大小并计算已经下载了多少 (http+ruby)

谁能帮帮我在我开始下载之前获取文件大小显示已经下载了多少%.require'net/http'require'uri'url="http://www.onalllevels.com/2009-12-02TheYangShow_Squidoo_Part1.flv"url_base=url.split('/')[2]url_path='/'+url.split('/')[3..-1].join('/')Net::HTTP.start(url_base)do|http|resp=http.get(URI.escape(url_path))open("test.file","wb")do|fi

ruby - 如何让 Ruby 'puts' 将数据写入文件?

我有以下代码,我想用它来pingIP地址和写入文件。一切正常,只是我无法将其写入文件。server=%w'192.168.150.254192.168.150.251192.168.120.1192.168.120.2'File.open('/test/test2.out','w')do|s|server.eachdo|p|r=`ping-a-n1#{p}`putsrendend 最佳答案 将putsr更改为s.putsr。您正在写入stdout而不是s。(参见Kernel#puts和IO#puts)

ruby - 如何在 Ruby 中将 BOM 标记写入文件

我有一些工作代码,可以将BOM标记添加到新文件。#writingFile.openname,'w',0644do|file|file.write"\uFEFF"file.write@dataend#readingFile.openname,'r:bom|utf-8'do|file|file.readend有什么方法可以自动添加标记而不用在数据前写神秘的"\uFEFF"吗?像File.openname,'w:bom'#thismodehasnoeffect也许吧? 最佳答案 ****这个答案导致了一个新的gem:file_with_b

ruby - 在 Ruby 中从 Unix 套接字读取/写入

我正在尝试通过Ruby中的UNIX套接字进行连接、读取和写入。它是haproxy使用的统计套接字。我的代码如下:require'socket'socket=UNIXSocket.new("/tmp/haproxy.stats.socket")#Firstattempt:workssocket.puts("showstat")while(line=socket.gets)doputslineend#Secondattemp:failssocket.puts("showstat")while(line=socket.gets)doputslineend第一次成功,第二次失败。我不确定为什么